Не удается подключиться к демону Docker после того, как я установил -H tcp: // XXXX: 2375 в аргументах dockerd - PullRequest
0 голосов
/ 29 апреля 2019

Я запустил Jenkins как контейнер Docker, а на панели управления Jenkins я настраиваю подключаемый модуль Docker для связи с демоном Docker. Однако когда я добавляю «-H tcp: //0.0.0.0: 2375» в демон Docker и перезапускаю Docker, выполнение любых команд docker приводит к сообщению: «Не удается подключиться к демону Docker в unix: /// var /run/docker.sock. Работает ли демон Docker? "

Это первый раз, когда я работаю с Докером и Дженкинсом, и я потратил много времени в поисках решения везде.

Я изменил /lib/systemd/system/docker.service, заменив строку:

ExecStart=/usr/bin/dockerd

с

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375

Затем я перезапускаю демон Docker:

systemctl daemon-reload
systemctl reload docker
systemctl restart docker.service

Я проверяю, что процесс прослушивает порт 2375:

netstat -lntp | grep dockerd
tcp6       0      0 :::2375                 :::*                    LISTEN      10855/dockerd

Когда я пытаюсь выполнить любую команду Docker, я получаю следующее:

docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

Большое спасибо, я забыл также добавить прослушивание по умолчанию для сокета UNIX /var/run/docker.sock. Теперь я могу использовать Jenkins и его плагин Docker.

0 голосов
/ 29 апреля 2019

Docker обычно прослушивает сокет Unix /var/run/docker.sock. Вместо этого вы попросили его прослушивать tcp-сокет tcp://0.0.0.0:2375, поэтому попытки клиента подключиться к сокету unix по умолчанию будут неудачными.

Если вы хотите, чтобы он прослушивал оба места, то вам нужно:

dockerd -H tcp://0.0.0.0:2735 -H unix:///var/run/docker.sock
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...