Gitlab Docker registry

Schon seit längerer Zeit verwende ich eine selbst gehostete gitlab Instanz um meine Programmierprojekte zu verwalten. Die Features dieser OpenSource Software sind wirklich sehr beeindruckend.

Bei einem closed source Projekt entstand kürzlich die Notwendigkeit docker images gemeinsam zu verwenden. Die in gitlab integrierte docker registry macht das ohne große Klimmzüge möglich:

docker login gitlab.komplett.cc:4567
docker docker build -t gitlab.komplett.cc:4567/meinegruppe/meinprojekt .
docker push gitlab.komplett.cc:4567/meinegruppe/meinprojekt .

Und schwubdiwupp ist das docker image für alle Projektbeteiligten mit dem Kommando

docker run gitlab.komplett.cc:4567/meinegruppe/meinprojekt

auführbar. Eine wunderbare Arbeitserleichterung um zum Beispiel ein gemeinsames Projektsetup zu teilen.

Damit die docker registry in gitlab verfügbar ist muss das Container Registry Modul aktiviert werden. Bei meinem Setup waren dazu folgende Einträge in der gitlab.rb Datei nötig:

registry_external_url 'https://gitlab.komplett.cc:4567'
registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/fullchain.pem"
registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/privkey.pem"

Für bestehende Projekte muss die registry eventuell noch manuell in den Projekteinstellungen aktiviert werden. Natürlich können pro Projekt verschiedene Images und Tags für images vergeben werden (siehe Gitlab container registry).

See also