docker배치gitlab 최신 버전 (현재 11.8.1 검증 통과)
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.