от
Я новичок в Docker и Jenkins, и я пытаюсь создать конвейер Jenkins, который создает образ Docker. Я застрял при попытке построить и продолжать получать эту ошибку: /var/jenkins_home/workspace/Docker-Pipeline@tmp/durable-a11b32f8/script.sh: строка 1: докер: команда не найдена Я установил Ubuntu на ВМ. Установлен докер. Установил Дженкинс / Дженкинс из Dockerhub. Я следовал этому уроку для остального: https://www.youtube.com/watch?v=z32yzy4TrKM

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

1 Ответ

0 голосов
от
TL; DR: У вас должен быть Докер в вашем агенте Дженкинс. Следуя описанному выше процессу, я запустил Jenkins, используя последний образ
jenkins/jenkins
из Docker Hub. Просмотрев файловую систему контейнера, я подтвердил то, о чем спекулировал, в своем комментарии к вашему вопросу: Docker не установлен внутри контейнера Jenkins. Предполагая, что вы используете главный сервер Jenkins в качестве агента для конвейерной работы, у вас есть несколько вариантов: Расширьте существующий докер-контейнер - используя что-то вроде
FROM jenkins/jenkins
внутри нового файла докера - чтобы включить ваши зависимости. Свяжите существующий демон Docker с хостом в среду выполнения контейнера Jenkins. Хотя я неравнодушен к первому решению, я нашел реализацию второго решения на форумах Docker: «Использование docker в докеризованном контейнере Jenkins» Затем я попробовал это решение и могу подтвердить, что Docker присутствует для меня в Jenkins. Главный контейнер после запуска контейнера Jenkins с помощью следующей команды:
docker run 

Я не уверен, но я мог бы предположить, что могут быть некоторые негативные последствия для безопасности хоста Jenkins Master из-за установки его собственного сокета Docker и исполняемого файла Docker в контейнер; однако, я бы оставил это на усмотрение кого-то более осведомленного о внутренностях Докера. Несмотря на это, я могу подтвердить, что решение выше работает.
    
...