Как использовать docker в скриптовом конвейере jenkins на RHEL7

386
Bram

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

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

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

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

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

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

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

0

1 ответ на вопрос

0
jayhendren

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

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

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

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

Похожие вопросы