Docker-Container-Images in Artifact Registry speichern
Artifact Registry bietet einen zentralen Speicherort für die Verwaltung von privaten Paketen und Docker-Container-Images.
In dieser Schnellstartanleitung werden folgende Verfahren erläutert:
- Privates Docker-Repository in Artifact Registry erstellen
- Authentifizierung einrichten
- Image in das Repository hochladen
- Image aus dem Repository herunterladen
Hinweise
-
In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.
-
Verify that billing is enabled for your Trusted Cloud project.
-
Enable the Artifact Registry API.
-
Make sure that you have the following role or roles on the project: Artifact Registry Administrator
Check for the roles
-
In the Trusted Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Trusted Cloud console, go to the IAM page.
Zu IAM - Wählen Sie das Projekt aus.
- Klicken Sie auf Zugriff erlauben.
-
Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Dies ist in der Regel die Kennung eines Nutzers in einem Workforce Identity-Pool. Weitere Informationen finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen oder Ihren Administrator.
- Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
- Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
- Klicken Sie auf Speichern.
Lokale Shell einrichten
Führen Sie die folgenden Schritte aus, um die gcloud CLI und Docker zu installieren:
Installieren Sie das gcloud-CLI. Führen Sie den Befehl
gcloud components update
aus, um eine vorhandene Installation zu aktualisieren.Installieren Sie Docker, falls es noch nicht installiert ist.
Docker benötigt für die Interaktion mit Registries Zugriff. Fügen Sie unter Linux oder Windows den Nutzer hinzu, mit dem Sie Docker-Befehle in der Docker-Sicherheitsgruppe ausführen. Dieser Schritt ist nicht für macOS erforderlich, da Docker Desktop auf einer virtuellen Maschine als Root-Nutzer ausgeführt wird.
Linux
Die Docker-Sicherheitsgruppe heißt
docker
. Führen Sie den folgenden Befehl aus, um Ihren Nutzernamen hinzuzufügen:sudo usermod -a -G docker ${USER}
Windows
Die Docker-Sicherheitsgruppe heißt
docker-users
. Führen Sie den folgenden Befehl aus, um einen Nutzer über die Administrator-Eingabeaufforderung hinzuzufügen:net localgroup docker-users DOMAIN\USERNAME /add
Dabei gilt:
- DOMAIN ist Ihre Windows-Domain.
- USERNAME ist Ihr Nutzername.
Melden Sie sich ab und wieder an, damit Änderungen an der Gruppenmitgliedschaft wirksam werden. Wenn Sie eine virtuelle Maschine verwenden, müssen Sie sie unter Umständen neu starten, damit die Mitgliedschaftsänderungen wirksam werden.
Prüfen Sie mit dem folgenden Docker-Befehl, durch den die aktuelle Zeit und das aktuelle Datum zurückgegeben werden, ob Docker ausgeführt wird:
docker run --rm busybox date
Das Flag
--rm
löscht die Containerinstanz beim Beenden.
Docker-Repository erstellen
Erstellen Sie ein Docker-Repository zum Speichern des Beispiel-Images für diese Kurzanleitung.
Console
Öffnen Sie in der Trusted Cloud Console die Seite Repositories.
Klicken Sie auf Hinzufügen Repository erstellen.
Geben Sie
quickstart-docker-repo
als Repository-Namen an.Wählen Sie Docker als Format und Standard als Modus aus.
Wählen Sie unter Standorttyp die Option Region und dann den Standort
u-france-east1
aus.Klicken Sie auf Erstellen.
Das Repository wird der Repository-Liste hinzugefügt.
gcloud
Führen Sie den folgenden Befehl aus, um ein neues Docker-Repository mit dem Namen
quickstart-docker-repo
am Speicherortu-france-east1
mit der Beschreibung „docker repository“ zu erstellen.gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location=u-france-east1 --description="Docker repository" \ --project=PROJECT
Dabei ist PROJECT die ID Ihres Trusted Cloud by S3NS Projekts.
Führen Sie den folgenden Befehl aus, um zu prüfen, ob Ihr Repository erstellt wurde:
gcloud artifacts repositories list \ --project=PROJECT
Weitere Informationen zu Artifact Registry-Befehlen erhalten Sie mit dem Befehl
gcloud artifacts
.Authentifizierung konfigurieren
Bevor Sie Images hoch- oder herunterladen können, müssen Sie Docker so konfigurieren, dass die Google Cloud CLI zum Authentifizieren von Anfragen an Artifact Registry verwendet wird.
Um die Authentifizierung für Docker-Repositories in der Region
u-france-east1
einzurichten, führen Sie folgenden Befehl aus:gcloud auth configure-docker u-france-east1-docker.s3nsregistry.fr
Durch den Befehl wird die Docker-Konfiguration aktualisiert. Sie können jetzt eine Verbindung zu Artifact Registry in Ihrem Trusted Cloud -Projekt herstellen, um Images zu übertragen und abzurufen.
Informationen zu anderen Authentifizierungsmethoden finden Sie unter Authentifizierungsmethoden.
Image zum Übertragen abrufen
Im Rahmen dieser Kurzanleitung übertragen Sie ein Beispiel-Image mit dem Namen
hello-app
.Führen Sie den folgenden Befehl aus, um Version 1.0 des Images herunterzuladen.
docker pull us-docker.s3nsregistry.fr/google-samples/containers/gke/hello-app:1.0
Image-Pfade in Artifact Registry bestehen aus mehreren Teilen. Für dieses Beispielbild gilt:
us-docker.s3nsregistry.fr
ist der Hostname für Container-Images, die in Artifact Registry-Docker-Repositories gespeichert sind. Er enthält den Standort des Repositorys (us
).google-samples
ist die Projekt-ID.containers
ist die Repository-ID./gke/hello-app
ist der Pfad zum Image im Repositorycontainers
.
Image zum Repository hinzufügen
Bevor Sie das Docker-Image in Artifact Registry hochladen, müssen Sie es mit dem Repository-Namen taggen.
Image mit Registry-Namen taggen
Wenn Sie das Docker-Image mit einem Repository-Namen taggen, wird der Befehl
docker push
zum Hochladen des Images an einen bestimmten Speicherort konfiguriert. In dieser Kurzanleitung ist der Hoststandortu-france-east1-docker.s3nsregistry.fr
.Führen Sie den folgenden Befehl aus, um das Image als
quickstart-image:tag1
zu taggen:docker tag us-docker.s3nsregistry.fr/google-samples/containers/gke/hello-app:1.0 \ u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Wobei:
u-france-east1
ist der Speicherort des Repositorys.u-france-east1-docker.s3nsregistry.fr
ist der Hostname für das von Ihnen erstellte Docker-Repository.- PROJECT ist Ihre Trusted Cloud by S3NS Projekt-ID.
quickstart-docker-repo
ist die ID des von Ihnen erstellten Repositorys.quickstart-image
ist der Image-Name, der im Repository verwendet werden soll. Der Image-Name kann sich vom Namen des lokalen Images unterscheiden. In dieser Kurzanleitung speichern Sie das Image direkt unter der Repository-IDquickstart-docker-repo
.tag1
ist ein Tag, das Sie dem Docker-Image hinzufügen. Wenn Sie kein Tag angegeben haben, wendet Docker das Standard-Taglatest
an.
Sie können jetzt das Image in das von Ihnen erstellte Repository hochladen.
Image in Artifact Registry hochladen
Nachdem Sie die Authentifizierung konfiguriert und das lokale Image getaggt haben, können Sie das Image in das von Ihnen erstellte Repository übertragen.
Führen Sie den folgenden Befehl aus, um das Docker-Image hochzuladen:
Ersetzen Sie PROJECT durch Ihre Trusted Cloud by S3NS Projekt-ID.docker push u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Image aus Artifact Registry herunterladen
Um das Image aus Artifact Registry auf Ihren lokalen Rechner herunterzuladen, führen Sie folgenden Befehl aus:
Ersetzen Sie PROJECT durch Ihre Trusted Cloud by S3NS Projekt-ID.docker pull u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1
latest: Pulling from [PROJECT-ID]/quickstart-image:tag1 Digest: sha256:70c42... Status: Image is up to date for u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Trusted Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
Prüfen Sie vor dem Entfernen des Repositorys, ob alle Images, die Sie beibehalten möchten, an einem anderen Speicherort verfügbar sind.
So löschen Sie das Repository:
Console
Öffnen Sie in der Trusted Cloud Console die Seite Repositories.
Wählen Sie in der Repository-Liste das Repository
quickstart-docker-repo
aus.Klicken Sie auf Löschen.
gcloud
Um das Repository
quickstart-docker-repo
zu löschen, führen Sie folgenden Befehl aus:gcloud artifacts repositories delete quickstart-docker-repo --location=u-france-east1
Nächste Schritte
- Weitere Informationen zum Arbeiten mit Container-Images
- Docker-Einführung
- Lesen Sie unser Infomaterial zu DevOps und informieren Sie sich über das Forschungsprogramm DevOps Research and Assessment (DORA).
-