我正在使用Windows 10 Professional,并且已经使用DockerToolBox安装了docker,因此我在VirtualBox中运行了一个docker-machine。尝试使用docker-machine在PyCharm中配置解释器时,出现以下错误:
“无法连接:java.lang.NullPointerException:未指定uri”
当我选择“ TCP套接字”时,出现以下与上面不同的错误:
“无法连接:java.io.IOException:通道在接收到任何数据之前已断开连接”
我确定我的docker机器正在运行,因为我可以使用MobaXterm或XShell等终端工具连接到它,而且我还可以连接到在我的docker机器上运行的MySQL。
答案 0 :(得分:8)
在Webstorm(Windows 8.1)中,通过api网址中的https://替换tcp://对我有用。
答案 1 :(得分:0)
我有同样的问题。
您必须检查皮查姆日志。有关错误的详细信息。
在我的情况下,Pycharm显示了相同的错误“在接收任何数据之前通道已断开”。
但是在日志中,我发现错误是由以下原因引起的: “错误-HttpResponseStreamHandlerFixed-异常在第一次读取或断开连接之前被捕获,我们可能正在挂起 io.netty.handler.codec.DecoderException:javax.net.ssl.SSLHandshakeException:找不到与“ my_server_hostname”匹配的名称”
就我而言,问题是我连接的域名与dockerd中安装的SSL自签名证书中的主机名不同。
您要连接的域名必须与dockerd使用的SSL证书中的域名匹配。
我必须制作主机记录(在Windows上为C:\ Windows \ System32 \ drivers \ etc \ hosts,在Linux上为/ etc / hosts)并连接到主机。
并且需要“ https://”协议:)
PS。您可以通过使用https将Chrome浏览器打开到docker API端点并打开证书详细信息来检查SSL证书的主机名。