So richten Sie eine private, externe und virtuelle Docker-Registry ein
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:
- Docker ist installiert.
- JFrog Container Registry (kostenlos in der Cloud oder als selbstgehostete Installation)
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.
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.
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.
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.
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.
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.
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.
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-Manifest-Eigenschaften
Manifest-JSON-Datei
Das war alles.
Jetzt können Sie es einfach selbst ausprobieren.