Цель состоит в том, чтобы запустить образ докера из скриптового конвейера jenkins.

Узел, выполняющий докер, является машиной RHEL7.

На RHEL7 обычные пользователи не могут выполнять команды docker без sudo, см. Этот пост Дэна Уолша.

Sudo был настроен, и я настроил псевдоним в соответствии с рекомендациями. Однако Дженкинс не читает профиль Bash.

Затем я удалил псевдоним и создал скрипт с именем docker и поместил его в каталог, который теперь добавляю в PATH.

Теперь конвейер может выполнить docker, но в конце конвейера он пытается вызвать /usr /bin /docker-current, и по какой-то причине он не использует скрипт. Несмотря на то, что docker-current в шаге sh в конвейере показывает, что он нашел скрипт.

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

1 ответ1

0

Вместо того, чтобы давать пользователю Jenkins sudo и пытаться обернуть вызовы docker с помощью sudo, добавьте пользователя Jenkins в группу docker:

Если вы не хотите вводить команду docker с помощью sudo, создайте группу Unix с именем docker и добавьте в нее пользователей. Когда запускается демон Docker, он создает сокет Unix, доступный членам группы Docker.

Источник из официальной документации с более подробными инструкциями по предоставлению некорневым пользователям доступа к демону docker.

Эти инструкции являются тем, что я следовал, чтобы дать доступ к докеру Jenkins на RHEL 7 через скриптовые конвейеры, и он, кажется, работает просто отлично.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .