2016-11-25 68 views
0

我已經運行與碼頭工人註冊表泊塢窗上example.domain.com與搬運工人註冊表錯誤設置gitlab 500

docker run -d -p 5000:5000 --restart=always --name registry \ 
-v /etc/ssl/certs/:/certs \ 
-e REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/var/lib/registry \ 
-v /git/docker_registry:/var/lib/registry \ 
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/server.crt \ 
-e REGISTRY_HTTP_TLS_KEY=/certs/server.key \ 
registry:2 

我可以推拉這個搬運工註冊表,但是當我試圖把它與它在同一運行gitlab連接機example.domain.com使用gitlab.yml配置:

registry: 
    enabled: true 
    host: example.domain.com 
    port: 5005 
    api_url: http://localhost:5000/ 
    key: /etc/ssl/certs/server.key 
    path: /git/docker_registry 

在網頁瀏覽器中啓用項目碼頭工人登記工作正常,但是當我去項目頁面和開放Regisry page我得到錯誤500

Gitlab日誌顯示:

Started POST "/api/v3/internal/allowed" for 10.10.200.96 at 2016-11-25 10:15:01 +0100 
Started POST "/api/v3/internal/allowed" for 10.10.200.96 at 2016-11-25 10:15:01 +0100 
Started POST "/api/v3/internal/allowed" for 10.10.200.96 at 2016-11-25 10:15:01 +0100 
Started GET "/data-access-servicess/centipede-rest/container_registry" for 10.11.0.232 at 2016-11-25 10:15:01 +0100 
Processing by Projects::ContainerRegistryController#index as HTML 
    Parameters: {"namespace_id"=>"data-access-servicess", "project_id"=>"centipede-rest"} 
Completed 500 Internal Server Error in 195ms (ActiveRecord: 25.9ms) 

Faraday::ConnectionFailed (wrong status line: "\x15\x03\x01\x00\x02\x02"): 
    lib/container_registry/client.rb:19:in `repository_tags' 
    lib/container_registry/repository.rb:22:in `manifest' 
    lib/container_registry/repository.rb:31:in `tags' 
    app/controllers/projects/container_registry_controller.rb:8:in `index' 
    lib/gitlab/request_profiler/middleware.rb:15:in `call' 
    lib/gitlab/middleware/go.rb:16:in `call' 

和碼頭工人登記日誌:

2016/11/25 09:15:01 http: TLS handshake error from 172.17.0.1:44608: tls: first record does not look like a TLS handshake 
+0

您是否在註冊表前配置了nginx反向代理,詳細說明如下:https://gitlab.com/help/administration/container_registry.md config:https:// gitlab。 com/gitlab -org/gitlab-ce/blob/master/lib/support/nginx/registry-ssl – jaxxstorm

+0

不幸的是,我們使用Gitlab Bitnami堆棧並運行Apache。這是我完全失去了,因爲配置nginx(它應該運行gitlab或它的只是代理註冊表?) – Martin

回答

0

的問題是,gitlab嘗試通過HTTP和HTTPS無法連接到註冊表中。因此你得到了TLS握手錯誤。

如果您使用的是自簽名證書從

registry: 
    api_url: http://localhost:5000/ 

更改gitlab config來

registry: 
    api_url: https://localhost:5000/ 

,不要忘了信任它在安裝gitlab在機器上。請參閱 - >https://docs.docker.com/registry/insecure/#troubleshooting-insecure-registry