拉取镜像
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
保持一致 重启容器 问题解决
有没解决的欢迎截图留言 看到后可以帮您解决