拉取镜像
docker pull beginor/gitlab-ce:11.0.1-ce.0
容器创建
docker run -d -p 8443:443 -p 9100:80 -p 8222:22 --name gitlab --restart always -v /docker/gitlab/config:/etc/gitlab -v /docker/gitlab/logs:/var/log/gitlab -v /docker/gitlab/data:/var/opt/gitlab beginor/gitlab-ce:11.0.1-ce.0
这样构建完容器
是9100对应容器80
但是没有配置external_url
导致仓库地址

修改gitlab.rb


但是配置了external_url 'http://10.9.21.198:9100/'发现重启直接不能访问,原因是这句话的意思是宿主机用什么地址访问。改为9100,容器没有配置这个映射,我们只有80到映射。发现改为http://10.9.21.198就好使。原因不言而喻,因为有端口映射。但是仓库地址就默认是80,仓库地址也就不会带端口,应为默认80,意思就是,external_url的端口就是对外访问的端口,创建容器时候只要不使用80,就要配置相应的端口映射且要和external_url一致。
**
有可能发生端口占用,查看哈日志 有的话换掉9100就行
docker logs -f 2c6c
这个时候发现SSH没有端口 可将开始映射的8222–>22进行配置
external_url 'http://192.168.212.196:9102/'
gitlab_rails['gitlab_shell_ssh_port'] = 8222

由上分析
**
解决方案
docker run -d -p 8443:443 -p 9100:9100 -p 8222:22 --name gitlab --restart always -v /docker/gitlab/config:/etc/gitlab -v /docker/gitlab/logs:/var/log/gitlab -v /docker/gitlab/data:/var/opt/gitlab beginor/gitlab-ce:11.0.1-ce.0
-p 9100:9100
构建容器时候 9100映射容器9100 这个时候就不再以80 做默认端口
直接使用80 会导致仓库http方式没有端口
external_url 'http://10.9.21.198:9100/'
而ssh方式对应gitlab_rails[‘gitlab_shell_ssh_port’] = 8222
保持一致 重启容器 问题解决
有没解决的欢迎截图留言 看到后可以帮您解决
本文详细解析了在使用Docker部署GitLab时,如何正确配置端口映射和external_url,确保HTTP和SSH服务正常运行。通过实例演示了解决端口冲突和仓库地址配置不当的问题。
2511

被折叠的 条评论
为什么被折叠?



