下载镜像
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