2016-11-25 1 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

0을 얻을

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: https://localhost:5000/ 

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

에서 gitlab의 설정을 변경

, gitlab가 설치된 시스템에 신뢰하는 것을 잊지 마세요. 참조 ->https://docs.docker.com/registry/insecure/#troubleshooting-insecure-registry

관련 문제