[Docker] Docker로 GitLab 설치 및 구성

seoyoon·2022년 5월 2일
0
post-thumbnail

0. 개요


깃랩(GitLab)은 깃랩 사(GitLab Inc.)가 개발한 깃 저장소 및 CI/CD, 이슈 추적, 보안성 테스트 등의 기능을 갖춘 웹 기반의 데브옵스 플랫폼입니다.
오늘은 docker-compose를 활용해 GitLab을 설치해보도록 하겠습니다.

1. 설치 디렉토리 생성

1) GitLab 이미지 받기

docker pull gitlab/gitlab-ce:latest

2) GitLab 작업 디렉토리 생성

cd /data
sudo mkdir gitlab
cd gitlab

3) 바인드 마운트(Bind mount)용 디렉토리 생성

sudo mkdir data
sudo mkdir logs
sudo mkdir config
디렉토리용도
data애플리케이션 데이터 저장용
logs로그 저장용
configGitLab 구성 파일 저장용

기본적으로 Docker의 데이터는 쓰기 가능한 컨테이너 레이어에 저장되어, 해당 컨테이너가 더 이상 존재하지 않으면 데이터가 유지되지 않으며, 다른 프로세스에서 필요로 할 경우 컨테이너에서 데이터를 가져오는 것이 어려울 수 있습니다. Docker에는 컨테이너가 호스트 시스템에 파일을 저장하는 두 가지 옵션이 있어, 컨테이너가 중지된 후에도 데이터를 영속적으로 유지할 수 있습니다.

Volumes : Docker(/var/lib/docker/volumes/)에서 관리하는 호스트 파일 시스템의 일부에 저장
Bind mounts : 호스트 시스템의 어느 위치에서나 저장할 수 있음

4) GitLab 디렉토리 소유권 변경

sudo chown -R $USER:$USER /data/gitlab

5) 권한 변경

sudo chmod -R 755 /data/gitlab

2. Docker-compose.yml 작성

1) vi 편집기 실행 후 아래 코드 작성

vi docker-compose.yml
version: '3.9'

services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab
    restart: always
    hostname: 'IP작성'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'IP작성:80'
        gitlab_rails['gitlab_shell_ssh_port'] = 8022
        # Add any other gitlab.rb configuration here, each on its own line        
      TZ: 'Asia/Seoul'
    ports:
      - '80:80'
      - '443:443'
      - '8022:22'
    volumes:
      - './config:/etc/gitlab'
      - './logs:/var/log/gitlab'
      - './data:/var/opt/gitlab'

2) GitLab 컨테이너 구동

docker-compose up -d
profile
Backend Developer

0개의 댓글