Рубрики
Uncategorized

Запустить команды Docker внутри контейнера Jenkins Docker

ВВЕДЕНИЕ Если вы хотите инициировать контейнеры Docker из своего Дженкина … Tagged с Docker, Jenkins, DevOps.

Если вы хотите инициировать контейнеры Docker из ваших контейнеров Jenkin, это то, что вам нужно сделать:

  • В Dockerfile Jenkins Dockerfile добавьте команды Docker, Docker-Compose.
  • Привяжите спинку Docker.

И это все! Так выглядит Dockerfile:

Дженкинс Dockerfile

FROM jenkins/jenkins

# Docker install
USER root
RUN apt-get update && apt-get install -y \
       apt-transport-https \
       ca-certificates \
       curl \
       gnupg2 \
       software-properties-common \


RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
RUN apt-key fingerprint 0EBFCD88
RUN add-apt-repository \
       "deb [arch=amd64] https://download.docker.com/linux/debian \
       $(lsb_release -cs) \
       stable"

RUN curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose \
&& chmod +x /usr/local/bin/docker-compose

RUN apt-get update && apt-get install -y docker-ce-cli

USER jenkins

Теперь, чтобы построить изображение:

docker build -t jenkins-docker .

Чтобы запустить Docker-Image, включая Mounts: Mounts:

 docker run -d --group-add $(stat -c '%g' /var/run/docker.sock) \
-v /var/run/docker.sock:/var/run/docker.sock -p 8080:8080 -p 50000:50000 \
-v `pwd`/jenkins:/var/jenkins_home --log-opt max-size=50k   --log-opt max-file=5   --name jenkins -P jenkins-docker

Здесь вы можете увидеть файл docker.sock был установлен. Кроме того, папка jenkins_home была установлена, чтобы вы могли сохранить информацию о вашем трубопроводе/конфигурации/пользователях и т. Д. Не забудьте взять резервную копию каталога jenkins_home!

Я загрузил Makefile и аналогичный Dockerfile на GitHub.

И это все!

Оригинал: «https://dev.to/dhingrachief/run-docker-commands-inside-jenkins-docker-k6d»