下載鏡像
docker pull gitlab/gitlab-ce
使用鏡像
鏡像中有三個目錄用於保存gitlab的數據,出於安全考慮,應該使宿主機目錄掛載這三個卷做持久化存儲。如果出錯保證數據不會丟失。
/etc/gitlab 包含gitlab的配置文件
/var/opt/gitlab gitlab使用的倉庫保存所有版本庫
/var/log/gitlab gitlab的日志目錄
docker run --name gitlab -d \ -v /gitlab/config:/etc/gitlab \ -v /gitlab/repo:/var/opt/gitlab \ -v /gitlab/log:/var/log/gitlab \ -p 2222:22 -p80:80 -p 433:433 \ gitlab/gitlab-ce
為了防止宿主機的22端口被占用,這里使用2222端口映射。
#進入容器中配置
root@nulige:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b7d84e1e8ea gitlab/gitlab-ce "/assets/wrapper" 40 minutes ago Up 40 minutes (healthy) 0.0.0.0:80->80/tcp, 0.0.0.0:433->433/tcp, 443/tcp, 0.0.0.0:2222->22/tcp gitlab
475155230ac4 centos "bash" 23 hours ago Exited (137) 23 hours ago amazing_kowalevski
b30a2fb40ac0 centos "bash" 28 hours ago Exited (137) 23 hours ago
#進入容器
root@nulige:~# docker exec -it 1b7d84e1e8ea /bin/bash
root@1b7d84e1e8ea:/#
#初始化服務
gitlab-ctl reconfigure
#如果網站訪問不了,可以重啟gitlab服務
# gitlab-ctl restart
ok: run: alertmanager: (pid 11957) 0s
ok: run: gitaly: (pid 11971) 0s
ok: run: gitlab-monitor: (pid 12014) 1s
ok: run: gitlab-workhorse: (pid 12025) 0s
ok: run: logrotate: (pid 12036) 1s
ok: run: nginx: (pid 12042) 0s
ok: run: node-exporter: (pid 12131) 1s
ok: run: postgres-exporter: (pid 12140) 0s
ok: run: postgresql: (pid 12150) 0s
ok: run: prometheus: (pid 12158) 0s
ok: run: redis: (pid 12175) 0s
ok: run: redis-exporter: (pid 12179) 1s
ok: run: sidekiq: (pid 12185) 0s
ok: run: sshd: (pid 12188) 1s
ok: run: unicorn: (pid 12192) 0s
#參考官網
https://docs.gitlab.com/omnibus/docker/README.html
#漢化版本參考
https://hub.docker.com/r/twang2218/gitlab-ce-zh/
#centos7.4安參考
https://blog.csdn.net/likai503819723/article/details/79704841
