소리소문 없이... 사랑도 명예도 이름도 남김 없이...
DexCore.net

Docker

[Docker] 윈도우에 도커로 젠킨스 설치

탑~! 2025. 2. 19. 11:06

1. 도커 컴포즈 파일 작성하기

Jenkins은 아래와 같은 설정으로 docker-compose.yml 파일을 작성할 수 있다.

 
services:
  jenkins: 
    image: jenkins/jenkins:jdk17
    user: root
    container_name: jenkins
    ports:
      - 8081:8080
      - 50001:50000
    volumes:
      - ./jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - TZ=Asia/Seoul
 
  • user(root 계정) 반드시 설정(안하면 permission error 발생)
  • container_name 원하는 이름으로 설정
  • port 설정

- 8081:8080 => jenkins 접속 port 설정

- 50001:50000 => jenkins agent를 통해 통신할 때 port 설정

  • volumes => 컨테이너 내부 데이터를 디스크와 공유하기 위해 volume 설정

- 호스트의 ./jenkins_home 디렉터리를 호스트 볼륨으로 설정하여 jenkins 컨테이너의 home 디렉터리에 마운트

- docker.sock 파일은 도커 데몬과 통신할 수 있는 소켓 파일. docker.sock 파일을 컨테이너에 마운트시켜서 도커 명령을 실행할 수 있게 해줌. 이러한 방식을 dood(docker out of docker)라고 한다.

  • ​그외 필요한 environment(환경 변수) 설정

- TZ=Asia/Seoul => 젠킨스의 timezone을 KST 기준으로 설정

2. 도커 컨테이너 생성하기

① 바탕화면 또는 시작 메뉴에 Docker Desktop 링크를 클릭해 Docker Desktop을 실행한다.

② 터미널에서 docker-compose_jenkins.yml 파일이 있는 위치로 이동하여 아래와 같은 명령어를 실행한다.

PS E:\docker> docker-compose -p jenkins -f docker-compose_jenkins.yml up -d

③ 해당 컨테이너가 제대로 생성되었는지 아래와 같은 명령어로 컨테이너 목록을 확인한다.

PS E:\docker> docker ps

④ 열려진 포트 확인

PS E:\docker> netstat -ano | findstr -i "8081 50001"

⑤ Docker Desktop에서 실행 중인 것을 확인할 수 있다.

3. 젠킨스 설정

(1) 초기 비밀번호 입력

① 젠킨스 컨테이너의 초기 비밀번호 얻기

  • 젠킨스 컨테이너 shell 환경으로 접근하여 /var/jenkins_home/secrets/initialAdminPassword 파일에 내용을 출력합니다.
 
PS E:\docker> docker exec -it 4d8e2fcc383f /bin/bash
root@4d8e2fcc383f:/# cat /var/jenkins_home/secrets/initialAdminPassword
c4e80c99109448f79fad07c6133466c8    # 초기 비밀번호
 
  • 호스트 볼륨 디렉토리로 접근하여 initailAdminPassword를 메모장으로 열고, 입력된 비밀번호를 복사합니다.
E:\Docker\jenkins_home\secrets\initialAdminPassword

[호스트 볼륨 디렉터리]

② http://localhost:8081를 입력하여 젠킨스에 접속해줍니다.

접속하면 초기 비밀번호를 입력하라는 창이 뜹니다. 그러면 위에 방법으로 얻은 초기 비밀번호를 입력합니다.

출처 : https://blog.naver.com/islove8587/223460991164

728x90
반응형