반응형
GitLab Omnibus를 Docker 컨테이너로 올리는 방법
1. Docker Compose 설치
Docker Compose가 시스템에 설치되어 있어야 합니다.
Docker Compose 설치 가이드는 공식 웹사이트(https://docs.docker.com/compose/install/)에서 제공됩니다.
2. docker-compose.yml 파일 생성
프로젝트 디렉터리에 docker-compose.yml 파일을 생성하고 다음과 같이 내용을 작성합니다.
- docker-compose 파일 다운로드
git clone https://github.com/anti1346/docker-gitlab-ce.git
cd docker-gitlab-ce
- .env 파일 생성
vim .env
GITLAB_HOST=domain_name
GITLAB_EMAIL=email_address
- docker-compose 실행
docker-compose up -d
docker-compose ps
$ docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------------------------------
gitlab /assets/wrapper Up (healthy) 22/tcp, 0.0.0.0:2222->2222/tcp, 0.0.0.0:443->443/tcp,
0.0.0.0:5000->5000/tcp, 0.0.0.0:5001->5001/tcp, 0.0.0.0:80->80/tcp
728x90
docker-compose.yml (참고 : https://github.com/anti1346/docker-gitlab-ce)
vim docker-compose.yml
version: '3.9'
services:
gitlab:
env_file: .env
image: gitlab/gitlab-ce:latest
container_name: gitlab
hostname: ${GITLAB_HOST}
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://${GITLAB_HOST}'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
gitlab_rails['time_zone'] = 'Asia/Seoul'
nginx['redirect_http_to_https'] = true
nginx['redirect_http_to_https_port'] = 80
#nginx['ssl_certificate'] = "/etc/gitlab/ssl/${GITLAB_HOST}.crt"
#nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/${GITLAB_HOST}.key"
registry['enable'] = true
registry_nginx['redirect_http_to_https'] = true
registry_external_url 'https://${GITLAB_HOST}:5000'
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['${GITLAB_EMAIL}']
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = "12"
letsencrypt['auto_renew_minute'] = "30"
letsencrypt['auto_renew_day_of_month'] = "*/15"
#backup
gitlab_rails['backup_path'] = '/var/opt/gitlab/backups'
gitlab_rails['backup_keep_time'] = 604800
gitlab_rails['backup_archive_permissions'] = 0644
volumes:
- /etc/localtime:/etc/localtime:ro
- ./gitlab/config:/etc/gitlab:rw
- ./gitlab/data:/var/opt/gitlab:rw
- ./gitlab/logs:/var/log/gitlab:rw
- ./gitlab/backups:/var/opt/gitlab/backups
ports:
- 80:80
- 443:443
- 2222:2222
- 5000:5000
- image: GitLab 컨테이너의 Docker 이미지를 선택합니다. 여기서는 최신 버전을 사용하도록 설정했습니다.
- container_name: 컨테이너의 이름을 지정합니다.
- restart: 컨테이너가 실패하거나 다시 시작해야 할 때 자동으로 다시 시작하도록 설정합니다.
- ports: 포트 매핑을 통해 GitLab 웹 인터페이스 및 SSH 액세스를 노출시킵니다.
- volumes: 컨테이너 내부의 GitLab 데이터와 설정을 호스트 시스템의 디렉터리에 마운트합니다.
접속 및 초기 설정(GitLab 웹 페이지)
GitLab 컨테이너가 실행된 후, 웹 브라우저에서 http://localhost 또는 지정한 호스트 이름으로 접속하여 초기 설정을 진행합니다. 초기 루트 비밀번호를 확인하려면 컨테이너 로그를 확인하십시오.
이제 GitLab Omnibus를 Docker Compose를 사용하여 컨테이너로 올렸으며, 웹 인터페이스를 통해 Git 저장소 및 프로젝트를 관리할 수 있습니다. 필요한 경우 Docker Compose를 사용하여 컨테이너를 업그레이드하거나 관리할 수도 있습니다.
728x90
반응형
'리눅스' 카테고리의 다른 글
chage 명령어 (0) | 2021.06.09 |
---|---|
파일 디스크립터(File Descriptor) 및 설정(ulimit) (0) | 2021.06.08 |
GitLab Omnibus 백업 및 복원하는 방법 (0) | 2021.06.08 |
OpenLDAP과 phpLDAPadmin을 Docker 컨테이너로 실행하는 방법 (0) | 2021.06.07 |
curl 명령어 (0) | 2021.06.04 |