GitLab技术问询:如何在Git仓库URL中显示HTTP端口?
解决GitLab仓库HTTP URL不显示端口的问题
嘿,我来帮你搞定这个事儿~你当前的GitLab容器配置里,external_url的格式有点小问题,导致仓库的HTTP克隆地址没正确带上端口9401。按照下面的步骤调整就行:
步骤1:停止当前GitLab容器
首先先把正在运行的GitLab容器停掉,避免配置冲突:
docker stop gitlab
如果需要的话,也可以先把容器删掉(数据已经挂载在本地卷里,不会丢失):
docker rm gitlab
步骤2:修正external_url配置
你的GITLAB_OMNIBUS_CONFIG里,external_url必须是完整的带协议的URL(比如http://example:9401),而不是单纯的example:9401。GitLab需要这个完整的URL来生成正确的仓库克隆地址。
调整后的启动命令如下:
docker run --hostname example -p 9401:80 -p 9402:443 -p 9403:22 --name gitlab --volume /srv/gitlab/data:/var/opt/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --env GITLAB_OMNIBUS_CONFIG="external_url = 'http://example:9401'; gitlab_rails['gitlab_port'] = 9401; gitlab_rails['gitlab_shell_ssh_port']=9403;" example:9104/gitlab/gitlab-ce:10.4.3-ce.0
步骤3:验证结果
等容器完全启动(GitLab启动需要几分钟时间),登录GitLab界面,进入root/test仓库。此时你应该能看到:
- HTTP克隆地址显示为
http://example:9401/root/test.git - SSH克隆地址保持为
ssh://git@example:9403/root/test.git
如果之前已经存在的仓库没自动更新地址,你可以进入仓库的Settings > Repository页面,手动确认一下URL设置,或者简单刷新页面就能看到变化啦。
内容的提问来源于stack exchange,提问作者Lynob




