设置gitlab作为docker的容器与dockerregistry显示错误500

我试图在Vagrant框中运行一个Gitlab docker容器。 但是我有一些问题让dockerregistry运行。

docker-compose.yml

 gitlab: container_name: gitlab image: gitlab/gitlab-ce:latest volumes: - /srv/gitlab/config:/etc/gitlab - /srv/gitlab/logs:/var/log/gitlab - /srv/gitlab/data:/var/opt/gitlab - /srv/gitlab/logs/reconfigure:/var/log/gitlab/reconfigure restart: always hostname: 192.168.7.7 ports: - 0.0.0.0:23:22 - 0.0.0.0:80:80 - 0.0.0.0:443:443 - 0.0.0.0:5000:5000 - 0.0.0.0:7443:7443 

(港口23:22只是因为我在一个无用的盒子里启动它,而且这个港口已经被使用了)
gitlab本身后来在ip: 192.168.7.7下可用

要激活/srv/gitlab/config/gitlab.rb -registry,我把/srv/gitlab/config/gitlab.rb改为:

 gitlab_rails['registry_enabled'] = true gitlab_rails['registry_host'] = "192.168.7.7" gitlab_rails['registry_port'] = "7443" gitlab_rails['registry_api_url'] = "http://192.168.7.7:5000" 

新的docker组装完成后,容器registry可用,但点击button会将我发送给显示500错误页面的URL
http://192.168.7.7/mygroup/myproject/container_registry
并与此错误日志:

 gitlab | gitlab | ==> /var/log/gitlab/gitlab-rails/production.log <== gitlab | Started GET "/mygroup/myproject/container_registry" for 127.0.0.1 at 2016-06-20 14:29:06 +0000 gitlab | Processing by Projects::ContainerRegistryController#index as HTML gitlab | Parameters: {"namespace_id"=>"plattform", "project_id"=>"node-sample"} gitlab | Completed 500 Internal Server Error in 858ms (ActiveRecord: 29.6ms) gitlab | gitlab | Faraday::ConnectionFailed (Connection reset by peer): gitlab | lib/container_registry/client.rb:18:in `repository_tags' gitlab | lib/container_registry/repository.rb:22:in `manifest' gitlab | lib/container_registry/repository.rb:31:in `tags' gitlab | app/controllers/projects/container_registry_controller.rb:8:in `index' gitlab | lib/gitlab/middleware/go.rb:16:in `call' gitlab | gitlab | gitlab | gitlab | ==> /var/log/gitlab/gitlab-workhorse/current <== gitlab | 2016-06-20_14:29:07.96418 2016/06/20 14:29:07 ErrorPage: serving predefined error page: 500 gitlab | gitlab | ==> /var/log/gitlab/nginx/gitlab_access.log <== gitlab | 192.168.7.1 - - [20/Jun/2016:14:29:07 +0000] "GET /mygroup/myproject/container_registry HTTP/1.1" 500 2205 "http://192.168.7.7/mygroup/myproject" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0" gitlab | gitlab | ==> /var/log/gitlab/gitlab-workhorse/current <== gitlab | 2016-06-20_14:29:07.96500 192.168.7.7 @ - - [2016-06-20 14:29:06.832069994 +0000 UTC] "GET /mygroup/myproject/container_registry HTTP/1.1" 500 2205 "http://192.168.7.7/mygroup/myproject" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0" 1.132525 gitlab | gitlab | ==> /var/log/gitlab/gitlab-rails/production.log <== gitlab | Started GET "/mygroup/myproject/container_registry" for 127.0.0.1 at 2016-06-20 14:29:07 +0000 gitlab | Processing by Projects::ContainerRegistryController#index as HTML gitlab | Parameters: {"namespace_id"=>"plattform", "project_id"=>"node-sample"} gitlab | Completed 500 Internal Server Error in 98ms (ActiveRecord: 10.6ms) gitlab | gitlab | Faraday::ConnectionFailed (Connection reset by peer): gitlab | lib/container_registry/client.rb:18:in `repository_tags' gitlab | lib/container_registry/repository.rb:22:in `manifest' gitlab | lib/container_registry/repository.rb:31:in `tags' gitlab | app/controllers/projects/container_registry_controller.rb:8:in `index' gitlab | lib/gitlab/middleware/go.rb:16:in `call' gitlab | gitlab | gitlab | gitlab | ==> /var/log/gitlab/gitlab-workhorse/current <== gitlab | 2016-06-20_14:29:08.13700 2016/06/20 14:29:08 ErrorPage: serving predefined error page: 500 gitlab | 2016-06-20_14:29:08.13719 192.168.7.7 @ - - [2016-06-20 14:29:07.985360314 +0000 UTC] "GET /mygroup/myproject/container_registry HTTP/1.1" 500 2205 "http://192.168.7.7/mygroup/myproject" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0" 0.151699 gitlab | gitlab | ==> /var/log/gitlab/nginx/gitlab_access.log <== gitlab | 192.168.7.1 - - [20/Jun/2016:14:29:08 +0000] "GET /mygroup/myproject/container_registry HTTP/1.1" 500 2205 "http://192.168.7.7/mygroup/myproject" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0" 

有人知道这个问题吗?

实际的registry不包含在Gitlab中,它仅用作authentication服务。 您将需要为registry设置一个单独的容器:

 gitlab: [...] registry: image: registry:2 [...]