这是GitLab文档的错误吗?

时间:2016-02-15 10:16:46

标签: docker gitlab

我使用GitLab CE docker镜像,并希望在主机的不同端口上公开GitLab。

我从offical documentation

中读到了一些说明
  

要在8929上公开Web界面,在2289上公开SSH服务,请使用以下docker run命令:

sudo docker run --detach \
    --hostname gitlab.example.com \
    --publish 8929:80 --publish 2289:22 \
    ...
    gitlab/gitlab-ce:latest
  

第二,你需要配置gitlab.rb:

#Set external_url:
external_url "http://gitlab.example.com:8929/"
...
# Set gitlab_shell_ssh_port:
gitlab_rails['gitlab_shell_ssh_port'] = 2289

但是在启动容器之后我发现容器中的 gitlab可以从http://localhost:8929访问,但不能访问http://localhost:80
也许文件犯了一个错误,但错误是如此愚蠢,我不确定。

我认为不需要第二步,是吗?

1 个答案:

答案 0 :(得分:0)

一切正常吗?也许你需要改写你的问题来说明你真正想要它做什么,但这就是它的工作原理:

Docker容器公开端口80.现在,在命令行上指定--publish 8929:80告诉它使端口80在主机上的端口8929上可用。这就是http://localhost:8929正确显示Gitlab安装的原因。

这也意味着在外部URL中设置端口确实是必要的,否则Gitlab将无法正确构建链接到安装的URL。

如果您只想逐字使用暴露的端口,而无需重新映射,只需使用-P的{​​{1}}标记。

有关详细信息,请参阅Docker documentation