Docker-Registry im GitLab

Eine Registry ist ein Repository für Images. Im Docker Hub befinden sich zahlreiche Images, die heruntergeladen und verwendet werden können.

Im GitLab der HU Berlin ist ebenfalls eine Registry freigeschaltet, die zur Speicherung von Images verwendet werden kann. Es soll nun gezeigt werden, wie das Verzeichnis zur Verwaltung von Images verwendet werden kann.

Erstellen eines Repository

Erstellen Sie ein GitLab-Repository, in dem das Image abgelegt werden soll oder wählen Sie ein bestehendes Repository aus.

Freischalten der Registry

Sie müssen nun die Erlaubnis geben, dass für das Projekt Docker-Images gespeichert werden dürfen. Klicken Sie dazu im linken Seitenmenü auf Settings, wählen dann General aus und öffnen den Reiter Permissions. Hier schieben Sie den Schalter bei Every project can have its own space to store its Docker images nach rechts und klicken abschließend auf Save changes.

docker activate registry

Wenn Sie die Seite nun neu laden, dann erscheint im linken Menü Registry. Hier werden später die Images angezeigt, die Sie hochgeladen haben. Sind keine Images vorhanden, finden Sie Instruktionen zum Hoch- und Herunterladen von Images.

gitlab docker registry

Anmeldung in der GitLab-Registry

Melden Sie sich nun über die Konsole in der GitLab-Registry an. Sie werden aufgefordert, Ihren Nutzernamen und Ihr Passwort einzugeben.

docker login scm.cms.hu-berlin.de:4567
Hochladen eines Image

Um ein spezifisches Image hochzuladen, benötigen Sie dessen ID. Führen Sie folgenden Befehl aus und kopieren dann die ID des Image, welches Sie hochladen möchten.

docker image ls

Geben Sie nun dem Image einen Tag, der einen Verweis auf das GitLab-Repository darstellt, in dem das Image abgelegt werden soll. Ersetzen Sie dabei die Angaben in spitzen Klammern.

docker tag <IMAGE-ID> scm.cms.hu-berlin.de:4567/<namespace>/<projekt>

Laden Sie das Image dann in das Repository hoch:

docker push scm.cms.hu-berlin.de:4567/<namespace>/<projekt>

Das Image wird nun in der Registry angezeigt:

docker image gitlab