Изображение Docker (Jenkins) - как я могу изменить /var/run/docker.sock, чтобы иметь 777 разрешений? - PullRequest
1 голос
/ 30 мая 2019

Мой образ Jenkins Docker содержит сам Docker. Причина заключается в том, чтобы иметь доступ к Docker во время заданий развертывания. Это просто решение, которое очень хорошо работает для меня.

После запуска контейнера я могу выполнять задания Jenkins, например, maven-build, а затем docker-build, пометить и отправить изображения Работает отлично! Для выполнения команд docker я включил access в Docker Engine из контейнера. Через docker.sock я могу получить доступ к движку Docker. Контейнер работает в существующей среде Docker. Обратите внимание: в качестве альтернативы я мог бы добавить инструментальные средства Docker позже через графический интерфейс Jenkins. Эта опция работает более года хорошо.

Проблема, с которой я столкнулся, заключается в невозможности доступа к механизму Docker. Причина в том, что /var/run/docker.sock имеет неправильные разрешения. Итак, после запуска образа Docker (или контейнера) мне нужно вручную (от имени пользователя root) изменить разрешения / var / run / docker на 777.

Как я могу изменить изображение, чтобы автоматически иметь правильные разрешения на выполнение для /var/run/docker.sock? Контейнер работает как пользователь jenkins.

Это мой контейнер:

FROM jenkins/jenkins:lts
USER root

RUN mkdir -p /tmp/download && \
 curl -L https://download.docker.com/linux/static/stable/x86_64/docker-18.03.1-ce.tgz | tar -xz -C /tmp/download && \
 rm -rf /tmp/download/docker/dockerd && \
 mv /tmp/download/docker/docker* /usr/local/bin/ && \
 rm -rf /tmp/download && \
 curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
 chmod +x /usr/local/bin/docker-compose && \
 groupadd -g 998 docker && \
 usermod -aG staff,docker jenkins
...
user jenkins
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...