Я настроил Jenkins, используя Изображение Jenkins Docker в кластере AWS ECS с одним экземпляром EC2.
После первоначальной настройки я попытался запустить hello-world конвейер из документации Jenkins. Я вижу, что получаю "докер: не найден"
Я понимаю, что это потому, что Docker не установлен и недоступен в контейнере Jenkins Docker. Однако у меня есть фундаментальный вопрос о том, стоит ли мне устанавливать Docker внутри работающего контейнера Jenkins Docker (чтобы использовать его в качестве базового образа) или нет. Когда я искал вокруг, я нашел это сообщение в блоге и это SO Ответ .
Я хотел следовать этим советам и попытался смонтировать том /usr/bin/docker
и сокет /var/run/docker.sock
из экземпляра хоста EC2 / ECS в контейнер Jenkins. После этого, когда я запустил команду docker version
для проверки установки, у меня возникают проблемы с библиотекой linux - docker: error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such file or directory
, которая указывает на то, что установка не прошла успешно.
Вот мои вопросы -
- Как запустить конвейеры Jenkins, использующие контейнеры Docker, при запуске Jenkins на основе контейнера Docker? Я хочу иметь возможность извлекать / собирать / запускать Docker-контейнеры, например, например - запустить приведенный выше пример с конвейером hello-world?
Моя конечная цель - создать 2 типа заданий Jenkins, которые выполняют следующее -
Дженкинс Тип работы 1
- Проверить хранилище из облака BitBucket
- Запуск сценария оболочки для создания образа Docker для проекта Java (возможно, с использованием плагина Maven Jib)
- Публикация в AWS ECR. (при условии, что это можно сделать с помощью плагина cloudbees )
Дженкинс Тип работы 2
- Извлечь изображение, опубликованное из задания типа 1, из AWS ECR
- Создать контейнер из изображения (который по сути запускает Java-приложение)
- Сам контейнер может быть запущен на том же кластере Jenkins ECR с подчиненными. Но, опять же, должны ли ведомые устройства иметь установленный докер для извлечения и запуска образа из ECR?
Задавайте эти вопросы после большого количества исследований и не находя ответов. Любое руководство приветствуется. Спасибо.