Docker容器下gitlab下载地址端口配置问题
仔细思考发现这中间是有问题的,这个问题就是docker有端口映射:本来是容器80端口映射到主机的8888端口,现在我把gitlab配置文件中的80端口改成8888端口了,就找不到容器的80端口了,所以页面就打不开了。保存,退出,重启docker,果然端口映射信息也出现了,再打开gitlab的网址,网页也能打开了,查看下载地址,也加上了端口号,运行了流水线,执行完了构建命令。我们的gitlab是部署
docker + gitlab
我们的gitlab是部署在docker容器里面的,对于开发团队来说是一个性价比很高的操作,也是很多人选择
背景
gitlab下载地址复制后总是手动加一下端口号,对使用者来说不友好,对流水线构建来讲更是灾难,因为流水线地址就是拉去的项目上显示上这个地址,所以,还是很有必要改成实际地址的。
gitlab 更改端口号
话不多说,进入xshell
进入环境
docker ps
查看所有运行中的容器docker exec -it 容器ID或者容器名 bash
进入容器中cd etc/gitlab/
进入gitlab目录vim gitlab.rb
修改gitlab文件
按照网上的说法将
external_url 'http://127.0.0.1'
改为 external_url 'http://127.0.0.1:8888'
然后 docker restart 容器ID或者容器名
进行重启
发现gitlab地址打不开了
修改docker端口映射
仔细思考发现这中间是有问题的,这个问题就是docker有端口映射:本来是容器80端口映射到主机的8888端口,现在我把gitlab配置文件中的80端口改成8888端口了,就找不到容器的80端口了,所以页面就打不开了
修改容器hostconfig.json
那好办,把docker端口映射也改了呗,但这个不是那么容易的,网上的资料也是鱼龙混杂,经过筛选我找到了相对靠谱的方案,修改当前容器的 hostconfig.json 文件
-
关闭docker
systemctl stop docker
-
找到容器id
docker ps
-
进入容器的资源地址
cd /var/lib/docker/containers
-
进入与容器id匹配的文件夹
-
修改容器中的 hostconfig.json 文件
"PortBindings": { "22/tcp": [ { "HostIp": "", "HostPort": "8222" } ], "443/tcp": [ { "HostIp": "", "HostPort": "8443" } ], "80/tcp": [ { "HostIp": "", "HostPort": "8888" } ] },
将
80/tcp
改为8888/tcp
应该就可以了吧
然后systemctl restart docker
重启docker,docker ps
查看情况,心底一凉发现没有相关8888 => 8888的端口映射信息,重启完成之后,果然也打不开页面
修改容器config
最终也是查阅了大量资料,才得知,修改一个hostconfig.json是不够,还要修改容器的config.v2.json文件,增加对8888端口的暴露
vim config.v2.json
- 找到 ExposePorts
- 添加
"8888/tcp": {}
保存,退出,重启docker,果然端口映射信息也出现了,再打开gitlab的网址,网页也能打开了,查看下载地址,也加上了端口号,运行了流水线,执行完了构建命令
更多推荐
所有评论(0)