Как настроить Jenkins агент для работы с Docker-контейнером docker:dind или аналогичным образом?

Как правильно настроить Jenkins для использования агента/слейва, запущенного как отдельный контейнер из образа docker:dind для сборки Docker образов через порт 2376?
  • 24 марта 2024 г. 10:19
Ответы на вопрос 2
Для того чтобы настроить Jenkins агент для работы с Docker-контейнером docker:dind или аналогичным образом, следуйте следующим шагам:

1. Убедитесь, что Docker уже установлен и запущен на вашем хосте с Jenkins.

2. Создайте новый агент/слейв в Jenkins:
   - Перейдите в "Manage Jenkins" -> "Manage Nodes and Clouds" -> "New Node".
   - Задайте имя для агента и выберите "Permanent Agent".
   - Укажите свойства агента, такие как количество исполняемых задач и директория.
   - В разделе "Launch method" выберите "Launch agent by connecting it to the master".
   - Введите команду для запуска контейнера docker:dind, например:
     ```
     docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 2376:2376 --privileged docker:dind
     ```

3. Настройте соединение с агентом:
   - Укажите желаемые параметры соединения (имя хоста, порт и т. д.).
   - Нажмите "Save" для создания нового агента.

4. Теперь Jenkins будет использовать агента, запущенного из контейнера docker:dind, для выполнения сборок Docker образов через порт 2376.

Пожалуйста, обратите внимание, что использование docker:dind может быть небезопасным из-за привилегированных разрешений и возможности доступа к хост-системе. Будьте осторожны при настройке и запуске контейнера docker:dind.
dind не лучшая идея, Jenkins из коробки позволяет собирать внутри Docker (есть плагин) 
если делать по взрослому, то лучше запускать все (и Jenkins и сборки) в Kubernetes (есть в том же Docker Desktop)
примерно так https://mekhanikov.pro/pages/jenkins_install.html
Похожие вопросы