【发布时间】:2018-03-01 12:31:28
【问题描述】:
复制
Win10 上安装的最新 Docker Edge (18.03.0-ce-rc1-win54 (16164))。
在更新到最新的 Docker CE Edge 版本之前切换到“Linux 容器”(但最新的“Docker for Windows”用户界面不再显示切换选项?!)。
从 Windows CMD 运行 docker run hello-world 没问题。
但是从 WSL Bash(最新的 Win10 1709)调用相同的内容总是会返回此 tls 错误消息:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
continuumio/miniconda3 latest 29af5106b6a4 17 hours ago 443 MB
hello-world latest f2a91732366c 3 months ago 1.85 kB
$ docker --version
Docker version 1.13.1, build 092cba3
$ docker version
Client:
Version: 1.13.1
API version: 1.26
Go version: go1.6.2
Git commit: 092cba3
Built: Thu Nov 2 20:40:23 2017
OS/Arch: linux/amd64
Server:
Version: 18.03.0-ce-rc1
API version: 1.37 (minimum version 1.12)
Go version: go1.9.4
Git commit: c160c73
Built: Thu Feb 22 02:42:37 2018
OS/Arch: linux/amd64
Experimental: true
$ echo $DOCKER_HOST
tcp://0.0.0.0:2375
$ docker run hello-world
tls: oversized record received with length 20527
此设置似乎无关,但对于运行docker 命令来说是必需的:
在没有 TLS 的情况下在 tcp://localhost:2375 上公开守护进程
问题
我想知道为什么这不是 Windows Docker / WSL 使用的常见问题。有些事情似乎搞砸了,但我不知道从哪里开始。
例如:
- 为什么问题只出现在 WSL Bash 下而不是 Windows 下 命令?
- 如何将
"insecure-registries": []的daemon.json值更改为一些与SO 相关的消息建议?
感谢任何帮助/指针!
(=PA=)
【问题讨论】:
-
这显然是 TLS/no-TLS 混淆,因为服务器显然在响应 HTTP/...(没有 TLS),而客户端正试图将其解析为涉及字节 3 的 TLS 响应和 4 = P 斜杠 = 十六进制 50 2F 作为长度和十六进制 502F = 十进制 20527 确实是无效的长度。 HTH。
标签: windows docker tls1.2 windows-subsystem-for-linux docker-for-windows