Docker 를 이용한 Jenkins 검사

JenkinsBeginner
지금 연습하기

소개

이번 실습에서는 LabEx Jenkins 환경에서 Docker 컨테이너 내부의 Jenkins 가 어떻게 실행되는지 검사합니다. Jenkins 서비스는 이미 설치 및 실행되어 http://localhost:8080에서 바로 사용할 수 있으므로, 초기 설치 과정을 기다릴 필요 없이 Docker 배포 모델을 이해하는 데 집중할 수 있습니다.

다음과 같은 실습을 진행합니다:

  • 호스트에서 Docker 사용 가능 여부 확인
  • 실행 중인 Jenkins 컨테이너 및 이미지 식별
  • Jenkins 가 사용하는 게시된 포트 검사
  • 컨테이너 내부의 Jenkins 홈 데이터 위치 확인
  • 컨테이너 로그 읽기 및 Jenkins 웹 인터페이스 접속

이러한 기술들은 Docker 기반의 개발 및 교육 환경에서 Jenkins 를 운영하는 데 필수적인 실무 역량입니다.

Docker 환경 검사

이 단계에서는 Docker 가 사용 가능한 상태인지, 그리고 Jenkins 환경이 Docker 위에서 실행 중인지 확인합니다.

LabEx VM 에서 터미널을 열고 Docker 버전을 확인합니다:

docker --version

다음과 유사한 출력이 나타나야 합니다:

Docker version ...

다음으로, 실행 중인 컨테이너 목록을 확인합니다:

docker ps

jenkins라는 이름의 컨테이너를 찾으세요. 이 컨테이너가 이번 실습 전반에서 사용되는 Jenkins 컨트롤러입니다. 출력에는 여러 열이 포함되어 있지만, 중요한 필드는 이미지 이름, 포트 매핑, 컨테이너 이름입니다:

CONTAINER ID   IMAGE                    ...   PORTS                  NAMES
...            jenkins/jenkins:latest   ...   0.0.0.0:8080->8080/tcp jenkins

가장 중요한 정보는 컨테이너 이름, 이미지, 포트 매핑입니다. 이번 실습에서는 컨테이너를 시작하거나 삭제할 필요가 없습니다.

Jenkins 이미지 검사

이 단계에서는 실행 중인 Jenkins 컨테이너가 사용하는 Docker 이미지를 식별합니다.

다음 명령어를 실행합니다:

docker inspect jenkins --format '{{.Config.Image}}'

이 명령어는 컨테이너를 생성하는 데 사용된 이미지 이름을 출력합니다. 이 환경에서는 다음과 같은 Jenkins 이미지가 표시되어야 합니다:

jenkins/jenkins:latest

로컬 이미지 목록을 확인할 수도 있습니다:

docker images jenkins/jenkins

정확한 이미지 ID 와 생성 시간은 다를 수 있지만, 저장소 (repository) 는 jenkins/jenkins여야 합니다:

REPOSITORY        TAG       IMAGE ID       CREATED       SIZE
jenkins/jenkins   latest    ...            ...           ...

이를 통해 브라우저에서 실행 중인 서비스와 Jenkins 를 제공하는 컨테이너 이미지를 연결하여 이해할 수 있습니다.

Jenkins 포트 및 데이터 검사

이 단계에서는 컨테이너가 사용하는 네트워크 포트와 Jenkins 홈 디렉터리를 검사합니다.

Jenkins 는 웹 인터페이스를 위해 8080 포트를 사용합니다. 게시된 포트를 확인합니다:

docker port jenkins

다음과 같이 호스트에 게시된 8080 포트를 확인할 수 있습니다:

8080/tcp -> 0.0.0.0:8080
8080/tcp -> :::8080

이제 컨테이너 내부의 Jenkins 홈 디렉터리를 확인합니다:

docker exec jenkins ls /var/jenkins_home

작업 (jobs), 플러그인, 로그 또는 설정 파일과 같은 Jenkins 데이터를 볼 수 있습니다:

config.xml
jobs
plugins
...

Jenkins 는 설정 및 작업 데이터를 /var/jenkins_home에 보관하므로, 이 디렉터리는 문제 해결 시 백업하거나 검사해야 할 핵심 위치입니다.

Jenkins 컨테이너 로그 읽기

이 단계에서는 Jenkins 컨테이너 로그를 읽습니다. 로그는 Jenkins 가 시작되지 않거나 예상치 못한 동작을 할 때 가장 먼저 확인해야 하는 곳입니다.

다음 명령어를 실행합니다:

docker logs --tail 30 jenkins

출력에는 Jenkins 시작 또는 런타임 메시지가 포함되어야 합니다. Jenkins 버전, 플러그인 메시지 또는 HTTP 서버 시작 로그 등을 볼 수 있습니다.

정확한 줄 내용은 다를 수 있지만, 이 명령어는 실행 중인 jenkins 컨테이너의 최근 로그를 반환합니다.

Jenkins 웹 인터페이스 열기

이 단계에서는 검사한 Docker 컨테이너와 Jenkins 웹 인터페이스를 연결합니다.

데스크톱 인터페이스에서 Firefox 브라우저를 엽니다. 브라우저에서 다음 주소로 Jenkins 에 접속합니다:

http://localhost:8080

이 환경에서는 별도의 로그인이 필요하지 않습니다.

Jenkins 대시보드가 나타날 것입니다.

Jenkins 대시보드

이는 jenkins Docker 컨테이너가 8080 포트를 통해 Jenkins 웹 UI 를 정상적으로 제공하고 있음을 확인해 줍니다.

요약

이번 실습에서는 Docker 기반으로 실행 중인 Jenkins 배포 환경을 검사했습니다.

다음 내용을 실습했습니다:

  • Docker 사용 가능 여부 확인
  • 실행 중인 Jenkins 컨테이너 식별
  • Jenkins Docker 이미지 검사
  • 8080 포트 노출 확인
  • /var/jenkins_home 검사
  • Jenkins 컨테이너 로그 읽기
  • Jenkins 웹 대시보드 열기

이러한 기술들은 컨트롤러를 처음부터 다시 구축하지 않고도 Docker 기반의 Jenkins 환경을 이해하고 문제를 해결하는 데 도움이 됩니다.