05 Docker-compose 를 활용하여 Jenkins와 Gitlab 설치하기

유영국·2024년 4월 30일

CICD자동화

목록 보기
6/9

🐙Docker-compose 란 ?

여러 컨테이너를 가지는 애플리케이션을 통합적으로 만들고, 각각의 컨테이너를 시작 및 중지하는 작업을 더 쉽게 수행할 수 있도록 도와주는 도구입니다.

Docker-compose 를 사용하면, 위의 Jekins, Gitlab 설치단계에서의 Docker run ……. 명령어를 일일히 치지 않아도 Docker-compose.yml 파일에 정의된 내용으로 Docker-compose up 명령어만으로 컨테이너를 구동시킬수 있습니다.

1. Docker-Compose 설치하기

1-1. Compose 설치 ( 원하는 버전을 설치하고 싶으면 v2.5.0 대신 버전 명시 )

sudo curl -L "https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

1-2. 실행권한 부여

sudo chmod +x /usr/local/bin/docker-compose

1-3. Docker-Compose 설치확인

docker-compose --version

2. Docker-Compose 를 활용하여 젠킨스,깃랩 컨테이너 띄우기

2-1. docker-compose.yml 파일 생성 및 편집

vi docker-compose.yml

2-2. docker-compose.yml 설정

version: "3"
services:
  gitlab:
    container_name: gitlab # 컨테이너이름
    image: "gitlab/gitlab-ce:latest" # 이미지명
    restart: always # 항상 재시작
    hostname: "gitlab"
    environment:
      GITLAB_OMNIBUS_CONFIG: # 환경변수
        external_url 'http://{ip}:80'
    ports: # 호스트포트 : 컨테이너포트 매핑
      - '80:80'
      - '443:443'
    volumes: # 호스트디렉토리 : 컨테이너볼륨 매핑
      - '~/srv/gitlab/config:/etc/gitlab'
      - '~/srv/gitlab/logs:/var/log/gitlab'
      - '~/srv/gitlab/data:/var/opt/gitlab'
  jenkins:
    container_name: jenkins
    restart: always
    build:
      context: . # Dockerfile 위치
      dockerfile: Dockerfile.jenkins # 빌드할 Dockerfile
    hostname: "jenkins"
    ports:
      - '8080:8080'
      - '50000:50000'
    volumes:
      - '~/srv/jenkins/jenkins-data:/var/jenkins_home'
      - '~/srv/jenkins/jenkins-docker-certs:/certs/client:ro'
      - '/var/run/docker.sock:/var/run/docker.sock'

2-3. jenkins를 빌드할 Dockerfile.jenkins(위에 설정한 도커파일 명) 을 생성 및 설정

vi Dockerfile.jenkins
FROM jenkins/jenkins:lts # 사용할 Docker이미지
USER root # root 계정으로 하위 RUN 명령 실행
RUN apt-get update && \
	apt-get -y install apt-transport-https \
	ca-certificates \
	curl \
	gnupg2 \
	zip \
	unzip \
	software-properties-common && \
	curl -fsSL https://download.docker.com/linux/$(./etc/os-release; echo "$ID")/gpg > /tmp/dkey; apt-key add /tmp/dkey && \
	"deb [arch=amd64] https://download.docker.com/linux/$(./etc/os-release; echo "$ID)" \
	$(lsb_release -cs) \
	stable" && \
	apt-get update && \
	apt-get -y install docker-ce

2-4. Docker-compose 구동

docker-compose up -d

-d 옵션은 백그라운드 실행 옵션이다.

profile
맘대로 생각해서 만든거라 안맞는 정보가 많아요

0개의 댓글