Где находится папка сертификатов для Docker Beta для Mac

Я не могу найти файлы сертификатов, созданные Docker Beta for Mac. Мне нужно это для моего IDE-подключения к Docker.

Ответ 1

Я установил бета-версию Docker для Mac и не нашел директорию ~/.docker/.

Как упоминалось в "" Докер для Mac против Docker Toolbox ""

С Docker для Mac вы получаете только одну виртуальную машину, и вы ее не управляете.
Он управляется приложением Docker для Mac, которое включает autoupdate для обновления клиентских и серверных версий Docker.

Если вам нужны несколько виртуальных машин и вы хотите управлять версией клиента или сервера Docker, которые вы используете, вы можете продолжать использовать docker-machine

Итак, вы увидите сертификаты в ~/.docker/machine, только если вы решите создать свой собственный.

С новой установкой Docker для Mac проверьте, есть ли какие-либо сертификаты в /Applications/Docker.app/ (как в /Applications/Docker.app/Contents/Resources)

Если вы полагаетесь на HyperKit по умолчанию, тогда нет необходимости в сертификате, чтобы связаться с VM с помощью команды docker.
Как показано в комментариях ниже (и 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"

Проблема 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

Ответ 2

@VonC берет наилучший ответ.

Я просто хочу дать свое решение по этому вопросу. Речь идет об использовании соединения для управления докерером. Фактически я использую Docker Integration в IntelliJ.

Во время установки Docker для Mac предоставляет HyperKit VM на базе Alpine Linux, работающей на Docker Engine. Он предоставляет API-интерфейс докера в сокете в /var/tmp/docker.sock

Однако, это не правда, реальный путь сокета /var/run/docker.sock. Теперь вы можете использовать unix:///var/run/docker.sock в качестве URL-адреса API в Docker Integration, а не файлы сертификатов.

  1. Угадайте, что, Docker Integration ver 2.2. *, которое работает в стабильной сборке (2016.1), не удалось подключиться unix на Mac и исправлено в версии 2.3.1, которое работает в сборке предварительного просмотра (2016.2). Это означает, что если вы хотите, чтобы он работал правильно, вам необходимо обновить IntelliJ до сборки предварительного просмотра и установить новейший плагин.

  2. Здесь самое худшее. Docker Integration ver 2.3.1 получил NullPointerException при развертывании файла Docker, который работает в стабильной версии IntelliJ и Docker Integration ver 2.2. * Через http соединение. Я отправил электронное письмо автору плагина и ожидаю решения furthur.

Ответ 3

Отработал последние несколько часов, но он, наконец, работает: