我按照这些说明安装了 GitLab CE Docker 映像。我在一个非标准端口上运行 HTTP,同时我在尝试配置不同的 HTTP IP 和端口时遇到了一些奇怪的问题。
docker run
根据说明,我使用命令的这一部分映射了端口--publish 192.168.88.135:8083:80
(注意这台机器有多个 IP,所以我想专门映射到 192.168.88.135)。
容器运行后,我连接到其中的外壳并按照此处和此处/etc/gitlab/gitlab.rb
的描述进行编辑,以
external_url "http://192.168.88.135:8083"
要重新配置 GitLab,我然后通过docker restart gitlab
. 完成此操作后,我将浏览器指向http://192.168.88.135:8083,但是该站点无法访问。
如果我运行docker inspect gitlab
,果然端口已按预期映射
"80/tcp": [
{
"HostIp": "192.168.88.135",
"HostPort": "8083"
}
]
真正奇怪的是,如果我从头开始重新创建卷和容器并且不触摸 /etc/gitlab/gitlab.rb
,我可以通过http://192.168.88.135:8083访问 GitLab 。知道发生了什么吗?在我理解之前,我对将我的存储库移动到这个设置持怀疑态度!
正如这里所讨论的,官方文档似乎是错误的。如果要在端口 8083 中运行 Gitlab,则必须更改 gitlab config.rb 文件中的 external_url 配置选项,并且必须在 docker run 中设置发布选项,如下所示
--publish 192.168.88.135:8083:8083
:我已经尝试使用以下 docker run 命令在一个步骤中使用端口 8081 执行您想要的操作:
几分钟后,您应该会看到 Gitlab 正在运行(填充数据库和其他引导程序需要一些时间)。
如果您不耐心,您可能还会看到 502,但这仅意味着 gitlab 正在启动 :)