问题 Docker Beta for Mac的证书文件夹在哪里


我找不到创建的任何证书文件 Docker Beta for Mac。我需要它来连接到Docker的IDE。


881
2017-07-09 18:59


起源



答案:


我为Mac安装了Docker Beta,但没有找到〜/ .docker /目录。

正如“Docker for Mac与DockerToolbox¶

使用Docker for Mac,您只能获得一个VM,而您无法管理它。
  它由Docker for Mac应用程序管理,其中包括autoupdate以更新Docker的客户端和服务器版本。

如果您需要多个VM并且想要管理您正在使用的Docker客户端或服务器的版本,则可以继续使用 docker-machine

所以你会看到证书 ~/.docker/machine 只有你决定创建自己的。

使用新的Docker for Mac设置,检查是否有任何证书 /Applications/Docker.app/ (如 /Applications/Docker.app/Contents/Resources

如果您依赖默认的HyperKit,则无需证书即可使用docker命令联系VM。
如下面的评论所示(和 OP Kroderia回答只能通过访问默认VM /var/run/docker.sock
埃利斯 下面的评论,这可能是一些软件的挑战,如 PyCharm

当它(PyCharm)尝试连接它时产生:

Cannot connect: javax.ws.rs.ProcessingException: 
Could not initialize class org.newsclub.net.unix.NativeUnixSocket"

问题153973 建议:

这是因为Docker插件捆绑在PyCharm中。它可以手动更新,但即使使用Docker 2.3.1,Docker Python解释器的问题也无法解决。
  下一个 PyCharm 2016.2 EAP 随着修复正在进行中。

解决方法 socat 您所描述的将在下一个PyCharm 2016.2 EAP中提供。随着更新的Docker插件版本即将发布下一个EAP。

socat TCP-LISTEN:2375,reuseaddr,fork UNIX-CONNECT:/var/run/docker.sock

7
2017-07-10 05:59



它们似乎不在Docker.app中的任何位置。在我的例子中,我遇到与OP-PyCharm集成相同的问题。 - Ellis
@Ellis您是否已声明要创建VM或连接到Hyper-V VM(用于新VM)?你做了吗? docker-machine ls, 要么 docker-machine ssh default? - VonC
在docker-machine ls下没有列出任何机器,并且docker-machine ssh默认显示“Host is not exists:”default“'。但很明显Docker for Mac VM正在运行,因为我有使用docker-compose运行的docker容器。 - Ellis
@Ellis然后我怀疑是通过访问默认VM /var/run/docker.sock 只有,不需要证书(直到你决定创建一台新机器) - VonC
@LaserJesus不确定;最好提出一个新问题(参考这个问题),以便为您的问题提供帮助。 - VonC


答案:


我为Mac安装了Docker Beta,但没有找到〜/ .docker /目录。

正如“Docker for Mac与DockerToolbox¶

使用Docker for Mac,您只能获得一个VM,而您无法管理它。
  它由Docker for Mac应用程序管理,其中包括autoupdate以更新Docker的客户端和服务器版本。

如果您需要多个VM并且想要管理您正在使用的Docker客户端或服务器的版本,则可以继续使用 docker-machine

所以你会看到证书 ~/.docker/machine 只有你决定创建自己的。

使用新的Docker for Mac设置,检查是否有任何证书 /Applications/Docker.app/ (如 /Applications/Docker.app/Contents/Resources

如果您依赖默认的HyperKit,则无需证书即可使用docker命令联系VM。
如下面的评论所示(和 OP Kroderia回答只能通过访问默认VM /var/run/docker.sock
埃利斯 下面的评论,这可能是一些软件的挑战,如 PyCharm

当它(PyCharm)尝试连接它时产生:

Cannot connect: javax.ws.rs.ProcessingException: 
Could not initialize class org.newsclub.net.unix.NativeUnixSocket"

问题153973 建议:

这是因为Docker插件捆绑在PyCharm中。它可以手动更新,但即使使用Docker 2.3.1,Docker Python解释器的问题也无法解决。
  下一个 PyCharm 2016.2 EAP 随着修复正在进行中。

解决方法 socat 您所描述的将在下一个PyCharm 2016.2 EAP中提供。随着更新的Docker插件版本即将发布下一个EAP。

socat TCP-LISTEN:2375,reuseaddr,fork UNIX-CONNECT:/var/run/docker.sock

7
2017-07-10 05:59



它们似乎不在Docker.app中的任何位置。在我的例子中,我遇到与OP-PyCharm集成相同的问题。 - Ellis
@Ellis您是否已声明要创建VM或连接到Hyper-V VM(用于新VM)?你做了吗? docker-machine ls, 要么 docker-machine ssh default? - VonC
在docker-machine ls下没有列出任何机器,并且docker-machine ssh默认显示“Host is not exists:”default“'。但很明显Docker for Mac VM正在运行,因为我有使用docker-compose运行的docker容器。 - Ellis
@Ellis然后我怀疑是通过访问默认VM /var/run/docker.sock 只有,不需要证书(直到你决定创建一台新机器) - VonC
@LaserJesus不确定;最好提出一个新问题(参考这个问题),以便为您的问题提供帮助。 - VonC


@VonC得到了最好的答案。

我只想提供关于这个问题的解决方案。问题是关于使用连接来管理docker。事实上我正在使用 Docker Integration 在IntelliJ中。

  1. 如上所述 Docker for Mac与Docker Toolbox

在安装时,Docker for Mac提供基于Alpine Linux的HyperKit VM,运行Docker Engine。它公开了socket上的docker API /var/tmp/docker.sock

然而,这不是事实,真正的套接字路径是 /var/run/docker.sock。你现在可以使用了 unix:///var/run/docker.sock 作为API URL Docker Integration,不需要证书文件。

  1. 你猜怎么了, Docker Integration 版本2.2。*,在稳定版本(2016.1)中工作,在Mac中使用unix连接失败,并在版本2.3.1中得到修复,该版本在预览版本(2016.2)中有效。这意味着如果您想使其正常工作,您需要将IntelliJ更新为预览版本并安装最新的插件。

  2. 这是最糟糕的事情。该 Docker Integration ver 2.3.1得到了 NullPointerException 部署Dockerfile时,它可以在IntelliJ的稳定版本中运行 Docker Integration ver 2.2。* via http 连接。我已经向插件作者发送了一封电子邮件,等待更进一步的解决方案。


7
2017-07-10 12:03



插座侧面很好看。 +1 - VonC
2.3.2 Docker插件,PyCharm build 162.1237.1。它现在通知您运行命令socat ...当您尝试输入unix:///var/run/docker.sock作为API URL时。执行此操作(并将URL指向localhost)后,服务器将连接到Docker Beta系统并允许您选择图像。但是,在连接到调试器时,它会“等待连接”。它启动容器和内部如果我运行ps aux我看到python -u /opt/.pycharm_helpers/pydev/pydevd.py --multiproc --qt-support --client 10.0.2.2 --port 61276 --file / opt /project/app.py。文件也在那里,任何指针? - LaserJesus
@LaserJesus运气好PyCharm与Docker for Mac玩得好吗? - Ben Roberts


花了最后几个小时,但它终于工作了:

  1. 下载 pycharm早期访问程序
  2. 建立 docker hub注册表 如此处所述
  3. pycharm - > preferences - >项目解释器 - >添加远程 - > Docker撰写。

0
2018-04-29 21:46