У меня возникает странная проблема с использованием стандартных образов докеров, предоставленных Jenkins, но только когда Jenkins работает на Amazon Linux 2. Jenkins на Ubuntu 18.04 работает нормально.
Проблема в том, что Дженкинс не может запускать эти подчиненные контейнеры.
Метод подключения - прикрепите контейнер Docker, поскольку движок докера работает локально на сервере Jenkins.
Интересно, что мне удалось успешно запустить эти контейнеры для сборки в Amazon Linux, если я установил USER root
в новом файле DockerFile (не требуется в Ubuntu). Однако мне нужно, чтобы они работали как пользователь без полномочий root (например, пользователь jenkins), чтобы запускать модульное тестирование для postgres.
Есть какие-нибудь мысли о том, как я могу добиться этого для Amazon Linux 2? Могу ли я пропустить настройку докера или настройку безопасности в ОС?
Образы Docker, которые я тестировал:
- https://hub.docker.com/r/jenkins/agent/
- https://hub.docker.com/r/jenkins/jnlp-slave
- https://hub.docker.com/r/jenkins/inbound-agent
Ошибки бесполезны:
Подключение к докер-контейнеру 4486c8f2696f40c7de32160d78d6e2438abb1ff92517c71cf66b93baf3d0877f, выполнение команды java -jar /home/jenkins/remoting-4.6.jar -noReconnect -noKeepAlive -slaveckerLogED /home UPDATE / 1.0-Content Тип приложения: raw-stream Подключение: Обновление Обновление: tcp Версия Api: 1.40 Экспериментальная версия Docker: false Тип файла: linux Сервер: Docker / 19.03.13-ce (Linux)
ОШИБКА: непредвиденная ошибка при запуске агента. Вероятно, это ошибка в Jenkins