我找不到Docker Beta for Mac
创建的任何证书文件。我需要它来连接到Docker的IDE。
答案 0 :(得分:7)
我安装了适用于Mac的Docker Beta,但未找到〜/ .docker /目录。
如" Docker for Mac vs. Docker Toolbox¶"
中所述使用Docker for Mac,您只能获得一个VM,而您无法管理它 它由Docker for Mac应用程序管理,其中包括autoupdate以更新Docker的客户端和服务器版本。
如果您需要多个虚拟机并且想要管理您正在使用的Docker客户端或服务器的版本,则可以继续使用
docker-machine
因此,只有在您决定创建自己的证书时,才会在~/.docker/machine
中看到证书。
使用新的Docker for Mac设置,检查/Applications/Docker.app/
中是否有任何证书(如/Applications/Docker.app/Contents/Resources
中所述)
如果您依赖默认的HyperKit,则无需证书即可通过docker命令联系VM。
如下面的评论(以及OP Kroderia' answer)所示,只能通过/var/run/docker.sock
访问默认虚拟机。
正如下面的Ellis评论所述,对PyCharm等某些软件来说,这可能是一个挑战:
当它(PyCharm)试图连接它时产生:
Cannot connect: javax.ws.rs.ProcessingException:
Could not initialize class org.newsclub.net.unix.NativeUnixSocket"
Issue 153973建议:
这是因为Docker插件捆绑在PyCharm中。它可以手动更新,但即使使用Docker 2.3.1,Docker Python解释器的问题也不会得到修复 PyCharm 2016.2 EAP 与修复程序正在进行中。
您描述的
socat
变通方法将在下一个PyCharm 2016.2 EAP中提供。下一个EAP将很快发布,使用更新的Docker插件版本。
socat TCP-LISTEN:2375,reuseaddr,fork UNIX-CONNECT:/var/run/docker.sock
答案 1 :(得分:7)
@VonC得到了最好的答案。
我只想提供有关此问题的解决方案。问题是关于使用连接来管理docker。实际上我在IntelliJ中使用Docker Integration
。
在安装时,Docker for Mac提供基于Alpine Linux的HyperKit VM,运行Docker Engine。它在
中的套接字上公开了docker API/var/tmp/docker.sock
然而,这不是事实,真正的套接字路径是/var/run/docker.sock
。您现在可以在unix:///var/run/docker.sock
中使用Docker Integration
作为API网址,而不需要证书文件。
猜猜什么,Docker Integration
ver 2.2。*,在稳定版本(2016.1)中工作,在Mac中使用unix连接失败,并在版本2.3.1中得到修复,这在预览构建中有效(2016.2)。这意味着如果您想使其正常工作,您需要将IntelliJ更新为预览版本并安装最新的插件。
这是最糟糕的事情。部署Dockerfile时,Docker Integration
ver 2.3.1得到NullPointerException
,该版本在IntelliJ的稳定版本和Docker Integration
版本2.2。*中通过http
连接工作。我已经向插件作者发送了一封电子邮件,等待更进一步的解决方案。
答案 2 :(得分:0)
花了最后几个小时,但它终于有效了: