젠킨스를 도커로 설치하고 내부에서 도커를 실행하기 위한(Docker In Docker) 방법을 정리한다.
작성일 : 2022-05-30
1> 젠킨스 설치시 옵션추가
젠킨스 설치시 아래 옵션을 추가해 도커의 소켓 파일 마운트
# 아래 옵션을 추가함
-v /var/run/docker.sock:/var/run/docker.sock
# 추가하면 아래와 같음
sudo mkdir /home/opendocs/jenkins
sudo docker run \
--name jenkins \
-d \
-p 8888:8080 \
-p 50000:50000 \
-v /home/opendocs/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-u root \
jenkins/jenkins:lts
2> jenkins container 접속하여 docker-ce-cli 설치
ubuntu OS이지만 컨테이너 OS 는 Debian으로 확인되므로 해당 OS에 맞게 Docker 설치 진행 (Debian Docker 설치)
# jenkins container 접속
docker exec -it jenkins /bin/bash
# linux 버전 확인
cat /etc/issue
# --------------- OS --------------------------------
# root@DESKTOP-R4P59B3:/home/opendocs# cat /etc/issue
# Ubuntu 20.04.4 LTS \n \l
# --------------- jenkins Container OS --------------------------------
# root@DESKTOP-R4P59B3:/home/opendocs# docker exec -it jenkins /bin/bash
# root@8fc963af71bb:/# cat /etc/issue
# Debian GNU/Linux 11 \n \l
# Docker 설치
## - Old Version Remove
apt-get remove docker docker-engine docker.io containerd runc
## - Setup Repo
apt-get update
apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
## - Install Docker Engine
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin