PyCharm无法在本地docker-machine中使用解释器

时间:2018-09-12 14:19:47

标签: docker pycharm

我正在使用Windows 10 Professional,并且已经使用DockerToolBox安装了docker,因此我在VirtualBox中运行了一个docker-machine。尝试使用docker-machine在PyCharm中配置解释器时,出现以下错误:

“无法连接:java.lang.NullPointerException:未指定uri”

docker-machine error

当我选择“ TCP套接字”时,出现以下与上面不同的错误:

“无法连接:java.io.IOException:通道在接收到任何数据之前已断开连接”

TCP socket error

我确定我的docker机器正在运行,因为我可以使用MobaXterm或XShell等终端工具连接到它,而且我还可以连接到在我的docker机器上运行的MySQL。

2 个答案:

答案 0 :(得分:8)

在Webstorm(Windows 8.1)中,通过api网址中的https://替换tcp://对我有用。

https://github.com/kubernetes/minikube/issues/580

答案 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证书的主机名。