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 인증서를 사용하기 때문입니다.
인증서 문제를 해결하려면:
- 주소 표시줄의 "안전하지 않음"을 클릭합니다
- "인증서가 유효하지 않음" 옵션을 선택합니다
- 페이지 하단의 "도와주세요"를 클릭한 후, 어두색 텍스트의 "계속 연결"을 선택합니다
이 절차를 거치면 GitLab 로그인 페이지에 정상적으로 접속할 수 있습니다.
최고 관리자(root) 계정 초기 비밀번호 확인
GitLab 최초 설치 시 root 계정의 초기 비밀번호는 다음 경로에서 확인할 수 있습니다:
ls /opt/gitlab/config/
위 명령어 실행 결과에 initial_root_password 파일이 표시됩니다. 이 파일을 열면 초기 비밀번호를 확인할 수 있습니다.
cat /opt/gitlab/config/initial_root_password
확인된 비밀번호로 root 계정에 로그인한 후, 보안을 위해 비밀번호를 변경하는 것이 좋습니다.
추가 설정 팁
- 정기적으로 백업을 수행하여 데이터 손실 방지
- 시스템 리소스 사용량을 모니터링하여 성능 저하 방지
- 최신 버전으로 업데이트하여 보안 취약점 해결