2016-06-20 8 views
0

Ich versuche, ein Gitlab Docker Container in einer Vagrant-Box zu laufen. Aber ich habe einige Probleme, die Docker-Registrierung ausgeführt werden.Einrichten gitlab als Docker Container mit Docker Registrierung zeigt Fehler 500

mein 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 

(Port 23.22 ist nur, weil ich es in einer vagabundierenden Box starten und die Port wird bereits verwendet)
die Gitlab selbst ist später unter der IP zur Verfügung: 192.168.7.7

um die docker-Registrierung zu aktivieren ich die /srv/gitlab/config/gitlab.rb wie folgt geändert:

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" 

Der Container-Registrierung ist verfügbar, nachdem ein neuer Docker-komponieren, aber auf den Button klicken, wird mir zeigen, auf die URL Senden Sie mir eine 500-Fehlerseite
http://192.168.7.7/mygroup/myproject/container_registry
und mit diesem Fehlerprotokoll:

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" 

Wer kennt dieses Problem?

Antwort

2

Die aktuelle Registrierung ist nicht in Gitlab enthalten, sie dient nur als Authentifizierungsdienst. Sie müssen einen separaten Container für die Registrierung einrichten:

gitlab: 
    [...] 

registry: 
    image: registry:2 
    [...] 
+0

Woher haben Sie diese Informationen? Alles, was ich in der Dokumentation gelesen habe, sagt, dass es funktionieren sollte a.f.a.i.k – Joerg

+1

Ja, ich habe eine Weile gebraucht, um das herauszufinden. http://docs.gitlab.com/ce/administration/container_registry.html erwähnt dies nicht explizit, sondern bezieht sich auf die offizielle Docker-Registrierungsdokumentation: https://docs.docker.com/registry/introduction/ Sie könnten Ich möchte auch auf https://github.com/sameersbn/docker-gitlab schauen, ich benutze (und habe dazu beigetragen) dieses Setup selbst. – Martin

+0

Lesen Sie http://docs.gitlab.com/ce/administration/container_registry.html#enable-the-container-registry erneut für "Installation from Source", dass Sie die Registrierung selbst installieren müssen. Vielleicht ist es vielleicht in der Omnibus-Installation enthalten, aber ich habe das nie getestet. – Martin

Verwandte Themen