반응형
    
    
    
  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
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 |