docker배치gitlab 최신 버전 (현재 11.8.1 검증 통과)

5779 단어
공식 문서
docker  
https://docs.gitlab.com/omnibus/docker/

         
https://about.gitlab.com/install/

  
https://blog.csdn.net/crper/article/details/81291034

이번 환경은 다음과 같다.
    :
Centos 7.6 x86_64
4.4.176-1.el7.elrepo.x86_64

# rpm -qa|grep kernel
kernel-lt-4.4.176-1.el7.elrepo.x86_64
kernel-lt-devel-4.4.176-1.el7.elrepo.x86_64
kernel-lt-tools-libs-4.4.176-1.el7.elrepo.x86_64
kernel-lt-headers-4.4.176-1.el7.elrepo.x86_64
kernel-lt-tools-4.4.176-1.el7.elrepo.x86_64
kernel-lt-doc-4.4.176-1.el7.elrepo.noarch
kernel-lt-tools-libs-devel-4.4.176-1.el7.elrepo.x86_64

Docker:
Server: Docker Engine - Community
 Engine:
  Version:          18.09.3
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       774a1f4
  Built:            Thu Feb 28 06:02:24 2019
  OS/Arch:          linux/amd64
  Experimental:     false

해당gitlabt의docker 버전 찾기
https://hub.docker.com
  gitlab/gitlab-ce     
docker pull gitlab/gitlab-ce
          ,   11.8.1-ce.0

관련 디렉터리와 docker 데이터 볼륨 만들기
# mkdir -p /data/gitlab-backup
# mkdir -p /data/docker

# docker network create net_A
# docker volume create gitlab_config
# docker volume create gitlab_logs
# docker volume create gitlab_data

데이터 볼륨
컨테이너 위치
역할
gitlab_data
/var/opt/gitlab
gitlab의 데이터 저장,nginx,postgresql 포함
gitlab_logs
/var/log/gitlab
로그 저장
gitlab_config
/etc/gitlab
gitlab의 주 프로필
/data/gitlab-backup
/data/gitlab-backup
백업 명령gitlab-rake gitlab:backup:create 백업 파일 저장 디렉터리 생성
docker-compose 파일
version: "2.4"
networks:
  net_A:
    external: true

volumes:
  gitlab_config:
    external: true
  gitlab_logs:
    external: true
  gitlab_data:
    external: true

services:
  ol-gitlab:
    image: gitlab/gitlab-ce
    container_name: ol-gitlab
    hostname: ol-gitlab
    ports:
      - "80:80"
      - "443:443"
      - "22:22"
    networks:
      - net_A
    volumes:
      - "/etc/localtime:/etc/localtime"
      - "gitlab_config:/etc/gitlab"
      - "gitlab_logs:/var/log/gitlab"
      - "gitlab_data:/var/opt/gitlab"
      - "/data/gitlab-backup:/data/gitlab-backup"

    environment:
      GITLAB_OMNIBUS_CONFIG: |
        unicorn['worker_timeout'] = 60
        unicorn['worker_processes'] = 3
        unicorn['worker_memory_limit_min'] = "200 * 1 << 20"
        unicorn['worker_memory_limit_max'] = "300 * 1 << 20"
        sidekiq['concurrency'] = 10
        external_url 'https://    '
        gitlab_rails['backup_path'] = "/data/gitlab-backup"
        gitlab_rails['backup_keep_time'] = 1296000
        gitlab_rails['time_zone'] = 'Asia/Shanghai'
        gitlab_rails['backup_archive_permissions'] = 0644
        gitlab_rails['gitlab_shell_ssh_port'] = 22
        nginx['enable'] = true
        nginx['client_max_body_size'] = '250m'
        nginx['redirect_http_to_https'] = true
        nginx['ssl_certificate'] = "/etc/gitlab/ssl/    "
        nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/    .key"
        nginx['ssl_ciphers'] = "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256"
        nginx['ssl_prefer_server_ciphers'] = "on"
        nginx['ssl_protocols'] = "TLSv1.1 TLSv1.2"
        nginx['ssl_session_cache'] = "builtin:1000  shared:SSL:10m"
        nginx['listen_addresses'] = ["0.0.0.0"]
        nginx['http2_enabled'] = true
        postgresql['max_worker_processes'] = 8
        postgresql['shared_buffers'] = "256MB"
    mem_limit: 4096m
    restart: always
    user: root

관련 설명:
- "/etc/localtime:/etc/localtime"          

    unicorn['worker_processes']     CPU   +1,            ,      4G,           ,     ,      。  ,        2,  1        ,            ,         ,  8G       4  ,         。

            :

CPU 

1  CPU    100   ,   workers                  GitLab         。
2     500  ,            。
4     2,000  。
8     5,000  。
16     10,000  。
32     20,000  。
64     40,000  。
         ,         

Memory 

    GitLab    4GB    (RAM + Swap)!                       ,     GitLab              4GB     .   4GB      reconfigure            ,               500  .

1GB      + 3GB            ,                。     unicorn worker        。
2GB      + 2GB        100  ,        。
4GB        100  ,           。
8GB         1,000   。
16GB         2,000   。
32GB         4,000   。
64GB         8,000   。
128GB         16,000   。
256GB         32,000   。
         ,         
           RAM,           2GB     。                         GitLab     。

  : Sidekiq 25 workers     (top  htop)              worker,            ,    Sidekiq         。           Unicorn workers    。

용기 디렉터리에 ssl 인증서 복사
           

      gitlab_data 
# cp -a ssl/ /data/docker_root_dir/volumes/gitlab_config/_data/

gitlab 컨테이너 시작
# docker-compose up -d

방문
                 external_url 'https://code.motaobox.com'
     ,       ,  8   。
      root

Gitlab     (11)       (                 )

gitlab 비밀번호 초기화 (공식)
https://docs.gitlab.com/ce/security/reset_root_password.html
         

백업 복구
      
https://blog.csdn.net/ouyang_peng/article/details/77070977

           

전재 대상:https://blog.51cto.com/191226139/2362758

좋은 웹페이지 즐겨찾기