도커 컴포즈를 이용한 GitLab 배포 가이드

docker-compose.yml 파일 준비


version: '3.8'

services:
  gitlab-container:
    image: 'registry.gitlab.cn/omnibus/gitlab-jh:16.8.2'
    restart: unless-stopped
    container_name: my-gitlab
    hostname: 'gitlab.example.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://gitlab.example.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
    ports:
      - '60443:443'
      - '8080:80'
      - '2222:22'
    volumes:
      - '/opt/gitlab/config:/etc/gitlab'
      - '/opt/gitlab/logs:/var/log/gitlab'
      - '/opt/gitlab/data:/var/opt/gitlab'
    shm_size: '512m'

위 설정 파일에 대한 설명:

  • image: 공식 문서에 기반한 최신 안정 버전 태그 지정
  • gitlab.example.com: 개발 환경을 위한 도메인 이름 (실제 환경에 맞게 수정 필요)
  • external_url: 웹 브라우저에서 GitLab에 접속할 때 사용할 URL
  • 포트 매핑: 컨테이너 내부 포트를 호스트 머신에 매핑
  • 볼륨 마운트: GitLab 데이터를 호스트 머신에 영구적으로 저장
  • shm_size: 공유 메모리 크기 설정 (GitLab 성능에 중요)

컨테이너 실행

다음 명령어로 GitLab 컨테이너를 백그라운드에서 실행합니다:

docker-compose up -d

최초 실행 시 몇 분 정도의 시간이 소요됩니다.

웹 브라우저에서 접속하기

호스트 서버의 IP 주소와 지정한 포트를 사용하여 GitLab에 접속합니다.

HTTP로 8080 포트 접속 시

연결 실패 오류가 발생합니다. 이는 HTTP 요청이 HTTPS 포트로 전송되었기 때문입니다.

HTTP로 60443 포트 접속 시

HTTPS 포트로 HTTP 요청을 보내는 오류가 발생합니다.

HTTPS로 60443 포트 접속 시

브라우저 주소 표시줄에 "안전하지 않음" 경고가 표시됩니다. 이는 자체 서명된 SSL 인증서를 사용하기 때문입니다.

인증서 문제를 해결하려면:

  1. 주소 표시줄의 "안전하지 않음"을 클릭합니다
  2. "인증서가 유효하지 않음" 옵션을 선택합니다
  3. 페이지 하단의 "도와주세요"를 클릭한 후, 어두색 텍스트의 "계속 연결"을 선택합니다

이 절차를 거치면 GitLab 로그인 페이지에 정상적으로 접속할 수 있습니다.

최고 관리자(root) 계정 초기 비밀번호 확인

GitLab 최초 설치 시 root 계정의 초기 비밀번호는 다음 경로에서 확인할 수 있습니다:

ls /opt/gitlab/config/

위 명령어 실행 결과에 initial_root_password 파일이 표시됩니다. 이 파일을 열면 초기 비밀번호를 확인할 수 있습니다.

cat /opt/gitlab/config/initial_root_password

확인된 비밀번호로 root 계정에 로그인한 후, 보안을 위해 비밀번호를 변경하는 것이 좋습니다.

추가 설정 팁

  • 정기적으로 백업을 수행하여 데이터 손실 방지
  • 시스템 리소스 사용량을 모니터링하여 성능 저하 방지
  • 최신 버전으로 업데이트하여 보안 취약점 해결

태그: docker-compose GitLab 컨테이너 DevOps 배포

7월 15일 21:24에 게시됨