Docker 上的 GitLab - 如何为 GitLab 设置外部 URL

GitLab on Docker - How to set the external URL for GitLab

我在我的机器上使用 docker 图像 运行 GitLab。 在这台机器上我还有其他几个服务。 所以机器的80端口已经被别的东西占用了。 所以我做了这个端口映射 9088:80 ...现在我面临的问题是 Gitlab 仍然认为它在端口 80 和运行器上运行的外部请求 卡住了,因为:

所以它使用http://psmonster/ instead of http://psmonster:9088/

Checking for jobs... received                       job=39 repo_url=http://psmonster/edi-tools/xsltestsuite.git runner=_z9oqvay
WARNING: Job failed: exit status 1                  duration=155.353588ms job=39 project=9 runner=_z9oqvay
WARNING: Failed to process runner                   builds=0 error=exit status 1 executor=shell runner=_z9oqvay

有人知道如何处理吗?

请查看

您需要更改您的配置文件。


让我们假设你像这样启动你的 gitlab 容器

sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume /srv/gitlab/config:/etc/gitlab \
  --volume /srv/gitlab/logs:/var/log/gitlab \
  --volume /srv/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

这将在您的主机上的文件夹 srv/gitlab/config

中创建配置

更改来自

的配置文件
external_url "https://gitlab.example.com:80"

external_url "https://psmonster:9088"

删除您的容器 - 因为您没有使用当前容器

docker rm -f gitlab

然后重新启动它,但是这次配置文件已经存在并且可以被容器使用。因此,它将使用正确的端口,并且您不会 运行 进入您在问题中描述的端口问题。请注意更新的端口定义

sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 9088:9088 \
  --name gitlab \
  --restart always \
  --volume /srv/gitlab/config:/etc/gitlab \
  --volume /srv/gitlab/logs:/var/log/gitlab \
  --volume /srv/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

有关如何使用 gitlab docker 图像的一般文档可在此处找到