So richten Sie eine private, externe und virtuelle Docker-Registry ein

How to setup Docker Registry

Am einfachsten verwalten und organisieren Sie Docker-Images mit einer Docker-Registry. Sie benötigen einen zuverlässigen, sicheren, beständigen und effizienten Zugriff auf die Docker-Images, der über eine zentrale Stelle für das gesamte Team verfügbar ist. Dazu gehört auch ein Ort, an dem mehrere Registries eingerichtet werden, die auf transparente Weise den Docker-Client nutzen.

Mit der durch Artifactory unterstützten JFrog Container Registry können Sie eine kostenlose externe und virtuelle Docker-Registry innerhalb weniger Minuten einrichten. In diesem Blog-Post werden die dabei zu befolgenden Schritte erläutert.

Bevor Sie loslegen

Folgende Voraussetzungen müssen erfüllt sein:

Schritt 1: Anmeldung in der Umgebung

Melden Sie sich mit dem Standard-Benutzernamen „admin“ und dem Passwort „password“ für die lokale Installation oder den Ihnen per E-Mail zugesandten Anmeldedaten für die Cloud-Installation an.

Login to your environment

Schritt 2: Hinzufügen von lokalen Docker-Repositories

Dient zum Speichern der benutzerdefinierten Docker-Images, die Sie zu einem späteren Zeitpunkt erstellen. 

Öffnen Sie das Administrationsmodul. Klicken Sie im erweiterten Menü Repositories auf den Menüpunkt „Repositories“. 

Fügen Sie ein neues lokales Repository mit dem Pakettyp Docker hinzu. Geben Sie den Repository-Schlüssel „docker-dev-local“ ein, und behalten Sie die restlichen Standardeinstellungen bei.

Add local Docker repository

Schritt 3: Hinzufügen einer externen Docker-Repository

Es dient als Caching-Proxy zur Speicherung von Images von Drittanbietern aus Docker Hub oder beliebigen externen Registries. 

Fügen Sie auf der Seite Repositories in der Registerkarte „Remote“ eine neue externe Repository des Pakettyps „Docker“ hinzu. Geben Sie den Repository-Schlüssel „docker-hub-remote“ ein, und behalten Sie die restlichen Standardeinstellungen bei.

Add remote Docker repository

Schritt 4: Hinzufügen von virtuellen Docker-Repositories

Hiermit erstellen Sie ein benutzerdefiniertes Docker-Image.

Fügen Sie auf der Seite Repositories in der Registerkarte „Virtual Repository“ ein neues virtuelles Repository des Pakettyps „Docker“ hinzu. Geben Sie den Repository-Schlüssel „docker“ ein, und fügen Sie die in den Schritten 2 und 3 erstellten lokalen und externen Docker-Repositories hinzu. Verschieben Sie diese mithilfe der Pfeiltasten aus Available Repositories nach Selected Repositories. Die Anordnung der Repositories innerhalb der Liste bestimmt die Reihenfolge, in der sie zur Lösung der für den Aufbau der Docker-Images erforderlichen Abhängigkeiten herangezogen werden. Wählen Sie die in Schritt 2 erstellte lokale Repository als Standard-Deployment-Repository aus. In das Standard-Deployment-Repository wird das von Ihnen erstellte Docker-Image gepusht. Behalten Sie die restlichen Standardeinstellungen bei.

Add virtual Docker repository

Schritt 5: Übernehmen des JFrog-Docker-Beispiels für GitHub-Repos 

Dieses Repository enthält eine einfache Docker-Datei, mit der ein benutzerdefiniertes Image erstellt werden kann.

Fork the JFrog Docker example GitHub repo

Schritt 6: Aktualisieren der Basis-Referenz für das Image

Klonen Sie das abgeleitete Repository, und aktualisieren Sie die FROM-Zeile der Docker-Datei, um auf das virtuelle Docker-Repository zu verweisen.

FROM ${SERVER_NAME}.jfrog.io/${VIRTUAL_REPO_NAME}/alpine:3.11.5

Der erste Teil der URL besteht aus dem für die Umgebung angegebenen SERVER_NAME: https://SERVER_NAME.jfrog.io

Bei VIRTUAL_REPO_NAME handelt es sich um den „docker“-Namen, den Sie in Schritt 4 dem virtuellen Repository gegeben haben.

Update the base image reference

Update the base image reference_2

Schritt 7: Verschieben des benutzerdefinierten Images in das Docker-Repository

Melden Sie sich im virtuellen Repository an, und erstellen, markieren und verschieben Sie das benutzerdefinierte Image mithilfe folgender Befehle:

$ docker login ${SERVER_NAME}.jfrog.io
$ docker build --tag ${SERVER_NAME}.jfrog.io/${VIRTUAL_REPO_NAME}/my-docker-image:latest .
$ docker push ${SERVER_NAME}.jfrog.io/${VIRTUAL_REPO_NAME}/my-docker-image:latest

Schritt 8: Anzeigen der Images in der Docker-Registry

Klicken Sie im Anwendungsmodul im erweiterten Artifactory-Menü auf den Menüpunkt „Artefakte“. Erweitern Sie in der Artefakt-Baumansicht die Repositories docker, docker-dev-local und docker-hub-remote, um die neuen Artefakte anzuzeigen. Klicken Sie im Repository docker-dev-local auf das Image, um die zugehörigen Angaben einzusehen.

View the images in your Docker Registry

Ihre Docker-Registries

Sobald Sie fertig sind und die Docker-Registries konfiguriert haben, können Sie sämtliche Docker-Images in den lokalen, externen und virtuellen Repositories speichern. Das sieht dann in etwa so aus:

Docker-Info

Docker info

Docker-Manifest-Eigenschaften

Docker manifest properties

Manifest-JSON-Datei

Manifest JSON file

Das war alles.

Jetzt können Sie es einfach selbst ausprobieren.