2016-02-15 23 views
0

我使用GitLab CE docker鏡像,並希望在主機的不同端口上公開GitLab。這是GitLab文檔的錯誤嗎?

我從offical documentation讀一些說明:

要公開Web界面上8929和SSH服務上2289使用下面的碼頭工人運行命令:

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
也許文件出錯了,但是錯誤太愚蠢了,我不確定。

我覺得第二步不需要,是嗎?

回答

0

一切正常,因爲它應該?也許你需要更改你的問題來說明你真正想要它做什麼,但這是它的工作方式:

Docker容器公開端口80.現在,在命令行中指定--publish 8929:80告訴它使端口80在主機上的8929端口上可用。這就是爲什麼http://localhost:8929正確顯示Gitlab安裝。

這也意味着在外部URL中設置端口確實是必要的,否則Gitlab將無法正確地建立鏈接到安裝的URL。

如果您只是想逐字使用暴露的端口,而不重新映射,只需使用-P標誌docker run

如需進一步信息請參閱Docker documentation

+0

在容器的http://本地主機:8929正確地顯示。但我想從主機訪問此網址。事實上,從主機訪問這個URL返回一個連接拒絕。它沒有配置'gitlab.rb'就像我想要的那樣工作。 – Malloc