2024.09.30 - [데브옵스/Docker] - Ubuntu에 Docker 설치
Ubuntu에 Docker 설치
1. 들어가며1.1 Docker 란?Docker는 애플리케이션을 개발, 배포, 실행하기 위한 오픈소스 플랫폼입니다. 컨테이너라는 격리된 환경에서 애플리케이션을 패키징하고 실행할 수 있게 해 줍
bigdwarf.blog
1. 들어가며
1.1 Jenkins와 Docker의 개요
- Jenkins : 소프트웨어 개발에서 지속적 통합 및 지속적 배포(CI/CD)를 자동화하는 강력한 오픈소스 도구
- Docker : 애플리케이션을 컨테이너 화하여 일관된 환경에서 실행할 수 있게 해주는 플랫폼
이 글에서는 Ubuntu 24.04 LTS 환경에서 Docker를 사용하여 Jenkins를 설치하고 설정하는 방법을 단계별로 안내합니다.
1.2 왜 Docker로 Jenkins를 설치하는가?
Docker를 사용하여 Jenkins를 설치하면 환경 일관성, 쉬운 업그레이드, 빠른 배포 및 확장성 등 여러 이점을 얻을 수 있습니다. 또한, 호스트 시스템에 직접 설치하는 것보다 격리된 환경에서 Jenkins를 실행할 수 있어 보안성도 향상됩니다.
2. 사전 준비
2.1 시스템 요구사항
- 최소 2GB RAM (4GB 이상 권장)
- 10GB 이상의 여유 디스크 공간
2.2 Docker 및 Docker Compose 설치 확인
- 다음 명령어로 Docker가 정상적으로 설치되었는지 확인
docker --version
docker run hello-world
- Docker Compose도 설치되어 있는지 확인
docker-compose --version
- Dokcer Compose가 설치가 안되어있을 경우
1. Docker Compose 최신 버전 다운로드
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2. Docker Compose 파일에 실행 권한 부여
chmod +x /usr/local/bin/docker-compose
3. 심볼릭 링크 생성 (선택 사항)
만약 docker-compose 명령어가 /usr/local/bin에 없을 경우, 심볼릭 링크를 만들어줄 수 있습니다.
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
3. Host 시스템에 컨테이너 데이터 디렉토리 생성
3.1 디렉토리 생성 및 권한 설정
- Jenkins 데이터 디렉토리 생성 (원하는 폴더 위치에 생성해주시면 됩니다.)
mkdir -p /home/user/jenkins_home
- 이글에선 아래와 같이 생성하였습니다.
mkdir -p /home/junu/docker_data/jenkins
chown -R junu:junu /home/junu/docker_data
4. Jenkins 설치 방법 1: Docker 명령어 사용
4.1 Jenkins Docker 이미지 다운로드
- Java 버전에 따라 버전을 선택해서 설치해주시길 바랍니다.
- 다음 명령어로 Jenkins LTS 이미지를 다운로드
docker pull jenkins/jenkins:lts
4.2 Jenkins 컨테이너 실행
docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /home/junu/docker_data/jenkins:/var/jenkins_home \
jenkins/jenkins:lts
4.3 포트 매핑 및 볼륨 설정 설명
- -p 8080:8080: Jenkins 웹 인터페이스용 포트
- -p 50000:50000: Jenkins 에이전트 통신용 포트
- -v /home/junu/docker_data/jenkins:/var/jenkins_home: 호스트의 Jenkins 데이터 디렉토리를 컨테이너에 마운트
- -v /var/run/docker.sock:/var/run/docker.sock: 호스트의 Docker 소켓을 컨테이너에 마운트 (선택사항)
이렇게 구성하면 Jenkins 데이터의 안전한 보관과 효율적인 관리가 가능해지며 Docker의 이점을 최대한 활용할 수 있습니다.
4.4 Jenkins 웹 접속
- http://IP:8080 접속 (위에서 설정한 포트)
5. Jenkins 설치 방법 2: Docker Compose 사용
Docker Compose를 사용하면 여러 컨테이너를 쉽게 관리할 수 있으며, 설정을 파일로 버전 관리할 수 있습니다.
5.1 docker-compose.yml 파일 작성
docker-compose.yml
작성
vi docker-compose.yml
version: '3.9'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins # 컨테이너 이름을 명시적으로 표시하기 위해 추가
ports:
- "8080:8080"
- "50000:50000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /home/junu/docker_data/jenkins:/var/jenkins_home
5.2 Docker Compose로 Jenkins 실행
- 다음 명령어로 Jenkins를 실행
docker-compose up -d
- Docker Compose Down 명령
Docker Compose Down 명령
docker-compose down
Docker Compose Down 추가 옵션
- --volumes: 정의된 볼륨도 함께 삭제하고 싶을 때 사용합니다. (주의: 데이터가 삭제될 수 있으므로 중요 데이터는 백업하는 것이 좋습니다.)
docker-compose down --volumes
- --rmi: 사용한 이미지를 제거하고 싶을 때 사용할 수 있습니다.
- local: 프로젝트에서 생성한 이미지만 삭제
- all: 모든 이미지를 삭제
docker-compose down --rmi all
이렇게 하면 docker-compose up으로 올린 서비스를 안전하게 중지할 수 있습니다.
5.3 Jenkins 웹 접속
- http://IP:8080 접속 (위에서 설정한 포트)
6. Jenkins 초기 설정
6.1 관리자 비밀번호 확인
- 다음 명령어로 초기 관리자 비밀번호를 확인
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
- 아래에 콘솔 화면에 초기 비밀번호를 확인하실 수 있습니다.
6.2 플러그인 설치 옵션
- Install suggested plugins 클릭 (추후 필요한 플러그인은 따로 설치하실 수 있습니다.)
6.3 관리자 계정 생성 및 Jenkins URL을 설정
6.4 계정 생성 및 설치 완료
7. 마치며
이 가이드를 통해 Ubuntu 24.04 LTS에서 Docker를 사용하여 Jenkins를 설치하고 기본적인 설정을 완료할 수 있습니다. 추가적인 설정이나 고급 기능은 프로젝트의 요구사항에 따라 적용하시기 바랍니다.

'데브옵스 > CICD' 카테고리의 다른 글
[Docker] Jenkins와 GitHub 연동하기: 지속적 배포(Continuous Deployment, CD) (4) | 2024.10.21 |
---|---|
[Docker] Jenkins와 GitHub 연동하기: 지속적 통합(Continuous Integration, CI) (0) | 2024.10.05 |