Невозможно получить доступ к Docker Daemon от Jenkins - PullRequest
2 голосов
/ 15 мая 2019

Я запускаю Дженкинса внутри контейнера докера.

Я использую следующую команду для запуска контейнера -

docker run -p 8080:8080 -p 50000:50000 -v "${PWD}:/var/jenkins_home" -v /var/run/docker.sock:/var/run/docker.sock aemdesign/jenkins

Уведомление -v /var/run/docker.sock:/var/run/docker.sock - Я сделал это, чтобы получить доступ к демону Docker из Jenkins согласно этой статье .

I cd в контейнер jenkins, используя docker exec -it <mycontainer> bash

Затем я запускаю docker ps -a, но все равно получаю ошибку команды docker not found.

Я провел еще несколько исследований в Интернете, узнал о подключаемом модуле док-станции для Jenkins и настроил его для подключения к демону Docker. Я получаю следующую ошибку

enter image description here

Я что-то упустил? Как мне решить эту проблему? Обратите внимание, что я делаю это локально на компьютере MAC.

1 Ответ

1 голос
/ 16 мая 2019

-v /var/run/docker.sock:/var/run/docker.sock, это просто означает, что ваш контейнер имеет возможность доступа к docker daemon на хосте, не означает, что ваш контейнер будет иметь docker client.

. Вы можете использовать -v $(which docker):/usr/bin/docker, чтобы добавить docker client в свой контейнер, тогда вы найдете команду.

 docker run -u root -p 8080:8080 -p 50000:50000 -v $(which docker):/usr/bin/docker -v "${PWD}:/var/jenkins_home" -v /var/run/docker.sock:/var/run/docker.sock aemdesign/jenkins

Другой способ, если вы хотите зарезервировать пользователя jenkins.

docker run -u jenkins:$(cut -d: -f3 < <(getent group docker)) -p 8080:8080 -p 50000:50000 -v $(which docker):/usr/bin/docker -v "${PWD}:/var/jenkins_home" -v /var/run/docker.sock:/var/run/docker.sock aemdesign/jenkins
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...