GitLab CE Docker-/etc/gitlab/gitlab.rb 无法按预期工作

GitLab CE Docker-/etc/gitlab/gitlab.rb 无法按预期工作

我按照以下方式安装了 GitLab CE Docker 镜像:这些说明。我在非标准端口上运行 HTTP,进行实验时尝试配置不同的 HTTP IP 和端口时遇到了一些奇怪的问题。

根据说明,我使用此docker run命令的这一部分映射了端口--publish 192.168.88.135:8083:80(请注意,这台机器有多个 IP,所以我想具体映射到 192.168.88.135)。

一旦容器运行,我就会连接到其中的 shell 并/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,我可以通过以下方式访问 GitLabhttp://192.168.88.135:8083。知道发生了什么吗?在我弄明白之前,我不愿意将我的存储库移到这个设置!

答案1

官方文档似乎有误,正如所讨论的这里。如果您想在端口 8083 运行 Gitlab,您必须更改 gitlab config.rb 文件中的 external_url 配置选项,并且您必须在 docker run 中设置发布选项,如下所示:--publish 192.168.88.135:8083:8083

我已尝试使用以下 docker run 命令仅需一步即可使用端口 8081 完成您想要的操作:

sudo docker run --detach \
    --hostname gitlab.example.com \
    --publish 192.168.1.50:8081:8081 \
    --publish 192.168.1.50:2222:22 \
    --name gitlab \
    --env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.example.com:8081/'; gitlab_rails['lfs_enabled'] = true;" \
    --volume ~/Docker/gitlab/config:/etc/gitlab \
    --volume ~/Docker/gitlab/logs:/var/log/gitlab \
    --volume ~/Docker/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

几分钟后,您应该会看到 Gitlab 正在运行(它需要一些时间来填充数据库和其他引导内容)。 gitlab 正在运行

如果你没有耐心,你可能还会看到 502,但这仅意味着 gitlab 正在启动:)

相关内容