У меня есть dockerfile:Дженкинс пользователь с помощью докер (внутри Docker контейнера)
FROM jenkins:1.651.1
COPY plugins.txt /usr/share/jenkins/plugins.txt
RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins.txt
USER root
RUN groupadd docker
RUN usermod -a -G docker jenkins
USER jenkins
добавляю мой пользователь jenkins
к группе docker
. Когда я получить доступ к моему контейнеру:
[email protected]:/$ docker ps
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
[email protected]:/$ whoami
jenkins
Это содержание моего /etc/group
на моем контейнере
jenkins:x:1000:
docker:x:1001:jenkins
мой Дженкинс пользователь находится в Докер группе
[email protected]:/$ groups jenkins
jenkins : jenkins docker
Что я делаю неправильно? Я хочу использовать команды docker с моим пользователем jenkins. Я нахожусь в Amazon EC2 Container Service.
Это, как я начинаю контейнер из моего изображения:
docker run -d -v /var/run/docker.sock:/var/run/docker.sock -v
/usr/bin/docker:/usr/bin/docker:ro -v
/lib64/libdevmapper.so.1.02:/usr/lib/x86_64-linux-gnu/libdevmapper.so.1.02
-v /lib64/libudev.so.0:/usr/lib/x86_64-linux-gnu/libudev.so.0
-p 8080:8080 --name jenkins -u jenkins --privileged=true -t -i
my-jenkins:1.0
Я использую -privileged для начала. когда я использую -u root, я могу выполнять команды докеров, потому что я являюсь пользователем root в своем контейнере. Но я хочу отредактировать файл docker, чтобы я мог выполнять эти команды с моим пользователем jenkins. – DenCowboy
Вы сделали «sudo gpasswd -a jenkins docker», за которым следует перезапуск службы докеров «sudo service docker restart»? –
Да пробовал первую команду. Я не могу перезапустить службу докеров изнутри файла docker. – DenCowboy