250721 실행 결과 Dockerfile FROM jenkins/jenkins:2.452.1-jdk17 버전 수정
(Centos7 기준)
1. 자바 설치 (jdk17)
wget <https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm>
rpm -ivh jdk-17_linux-x64_bin.rpm
java -version
2. Docker 설치
yum install -y yum-utils
yum-config-manager --add-repo <https://download.docker.com/linux/centos/docker-ce.repo>
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
이 때 GPG key를 묻는데 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 과 일치하는 경우 설치 진행
3. docker 실행 및 설치 확인
systemctl start docker
docker run hello-world
4. Downloading and running Jenkins in Docker
a. docker에 브리지 네트워크 생성
docker network create jenkins
b. Jenkins 노드 내에서 Docker 명령을 실행하려면 다음 Docker 실행 명령을 사용하여 Docker:dind Docker 이미지를 다운로드하여 실행
docker run --name jenkins-docker --rm --detach \
--privileged --network jenkins --network-alias docker \
--env DOCKER_TLS_CERTDIR=/certs \
--volume jenkins-docker-certs:/certs/client \
--volume jenkins-data:/var/jenkins_home \
--publish 2376:2376 \
docker:dind --storage-driver overlay2
c. 다음 두 단계를 실행하여 공식 Jenkins Docker 이미지를 사용자 지정
- Dockerfile 생성
FROM jenkins/jenkins:2.426.1-jdk17
USER root
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
2. 위 Dockerfile에서 새 Docker 이미지를 빌드하고 이미지에 “myjenkins-blueocean:2.426.1-1”과 같은 의미 있는 이름을 할당
docker build -t myjenkins-blueocean:2.426.1-1 .
d. myjenkins-blueocean:2.426.1-1 다음 명령을 사용하여 Docker에서 자체 이미지를 컨테이너로 실행
docker run --name jenkins-blueocean --restart=on-failure --detach \
--network jenkins --env DOCKER_HOST=tcp://docker:2376 \
--env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
--publish 8080:8080 --publish 50000:50000 \
--volume jenkins-data:/var/jenkins_home \
--volume jenkins-docker-certs:/certs/client:ro \
myjenkins-blueocean:2.426.1-1
e. Docker 컨테이너에 접근
docker exec -it jenkins-blueocean bash
f. Host PC에서 localhost:8080 접속하면 다음과 같은 화면 확인 가능

비밀번호는 아래 경로에서 확인 가능
docker exec -it jenkins-blueocean bash
cat /var/jenkins_home/secrets/initialAdminPassword
비밀번호 입력하면
