Почему имя группы "docker" не создается при установке docker на ма c? - PullRequest
0 голосов
/ 12 января 2020

После запуска:

  brew cask install docker

UNIX файл сокета не входит в группу docker в моем ноутбуке ma c (docker host)

$ ls -l /var/run/docker.sock
lrwxr-xr-x  1 root  daemon  70 12 Jan 08:19 /var/run/docker.sock -> /Users/user1/Library/Containers/com.docker.docker/Data/docker.sock

потому что docker группа не создана

 $ cat /etc/group | grep docker
 $ uname -a
Darwin user1 18.7.0 Darwin Kernel Version 18.7.0: Sun Dec  1 18:59:03 PST 2019; root:xnu-4903.278.19~1/RELEASE_X86_64 x86_64

 $
 $ cat /etc/group | grep daemon
 daemon:*:1:root

В Ubuntu docker имя группы создается после установки docker

Запуск jenkins docker контейнер (как DIND ), но не может выполнить usermod -aG docker jenkins в Dockerfile.

Цель - запустить docker клиента в контейнере jenkins, который может общаться с docker демоном, работающим на docker хосте, через UNIX файл сокета (/var/run/docker.sock).


Почему установка docker на ма c не создает docker группу?

Как решить эту проблему?

1 Ответ

1 голос
/ 12 января 2020

Docker для Ма c просто особенное. Вы можете решить это несколькими способами:

От минимум рекомендуется большинство рекомендуемый порядок:

  1. Изменить разрешение / var / run /docker.sock, чтобы другие группы могли получить доступ к сокету.
  2. Предоставить sudo доступ пользователю jenkins
  3. Используйте socat, чтобы вместо этого выставить демона в сокете tcp.

С https://www.benjaminpack.com/blog/docker-jenkins-mac/

Процесс socat оборачивает /var/run/docker.sock в хост через подключенный том и выставляет его в Двунаправленная мода как TCP-сервер для Дженкинса. Все, не дав Дженкинсу больше разрешений, чем нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...