Container Registry – Kurzanleitung
In dieser Kurzanleitung wird beschrieben, wie Sie Docker für Container Registry konfigurieren und dann ein Image per Push und Pull übertragen.
Google Cloud bietet zwei Dienste zum Speichern und Verwalten von Container-Images:
- Artifact Registry (empfohlen)
Ein Dienst zum Speichern und Verwalten von Artefakten in privaten Repositories, einschließlich Container-Images, Helm-Diagrammen und Sprachpaketen. Dies ist die empfohlene Container-Image-Registry für Google Cloud.
Docker-Kurzanleitung ausprobieren, um sich mit Artifact Registry vertraut zu machen
- Container Registry
Eine private Container-Image-Registry, die die Image-Formate Docker Image Manifest V2 und OCI unterstützt. Es bietet einen Teil der Artifact Registry-Features.
Wenn Sie Container Registry derzeit nicht verwenden, verwenden Sie stattdessen Artifact Registry. Einen Vergleich zwischen Container Registry und Artifact Registry und Informationen zur Umstellung von Container Registry auf Artifact Registry finden Sie unter Von Container Registry wechseln.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Container Registry API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Container Registry API.
Shell auswählen
Sie können diese Kurzanleitung entweder in Cloud Shell oder in Ihrer lokalen Shell ausführen.
- Cloud Shell
- Cloud Shell ist eine Shell-Umgebung für die Verwaltung von Ressourcen, die in Google Cloud gehostet werden. Docker und die Google Cloud CLI, die primäre Befehlszeile für Google Cloud, sind vorinstalliert.
- Lokale Shell
- Wenn Sie Ihre lokale Shell bevorzugen, müssen Sie Docker und die gcloud CLI in Ihrer Umgebung installieren.
Cloud Shell starten
So starten Sie Cloud Shell:
Rufen Sie die Google Cloud Console auf.
Klicken Sie in der Menüleiste auf die Schaltfläche Cloud Shell aktivieren: .
In einem Frame im unteren Teil der Console wird eine Cloud Shell-Sitzung geöffnet.
Mit dieser Shell führen Sie gcloud
-Befehle aus.
Lokale Shell einrichten
Führen Sie die folgenden Schritte aus, um gcloud
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 Mac OS 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 busybox date
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 Container Registry verwendet wird.
Führen Sie dazu diesen Befehl aus:
gcloud auth configure-docker
Mit dem Befehl wird die Docker-Konfiguration aktualisiert. Sie können jetzt eine Verbindung zu Container Registry in Ihrem Google Cloud-Projekt herstellen, um Images zu übertragen und abzurufen.
Image zum Übertragen abrufen
Im Rahmen dieser Kurzanleitung übertragen Sie ein Beispiel-Image mit dem Namen hello-app
.
- Wechseln Sie in ein Verzeichnis, in dem Sie das Image speichern möchten
Führen Sie den folgenden Befehl aus, um Version 1.0 des Images abzurufen.
docker pull gcr.io/google-samples/hello-app:1.0
Image zu Container Registry hinzufügen
Wenn Sie ein Image zu Container Registry hinzufügen möchten, müssen Sie es mit einem Tag versehen und dann per Push an die Registry übertragen.
Image mit Registry-Namen taggen
Wenn Sie das Docker-Image mit einem Registry-Namen taggen, wird der Befehl docker push
zum Hochladen des Images an einen bestimmten Standort konfiguriert. In dieser Kurzanleitung ist der Hoststandort gcr.io
.
Führen Sie den folgenden Befehl aus, um das Image als quickstart-image:tag1
zu taggen:
docker tag gcr.io/google-samples/hello-app:1.0 gcr.io/PROJECT_ID/quickstart-image:tag1
Ersetzen Sie Folgendes:
- PROJECT-ID ist die Projekt-ID der Google Cloud Console, die Sie dem Befehl hinzufügen müssen. Wenn die Projekt-ID einen Doppelpunkt (
:
) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte. gcr.io
ist der Hostname.quickstart-image
ist der Name des Docker-Images.tag1
ist ein Tag, das Sie dem Docker-Image hinzufügen. Wenn Sie kein Tag angegeben haben, wendet Docker das Standard-Taglatest
an.
Jetzt können Sie das Image in Container Registry hochladen.
Image in Container 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:
docker push gcr.io/PROJECT_ID/quickstart-image:tag1
Dabei ist PROJECT_ID Ihre Projekt-ID der Google Cloud Console.
Wenn die Projekt-ID einen Doppelpunkt (:
) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.
Wenn Sie ein Image in einen neuen Hoststandort hochladen, erstellt der Dienst den zugrunde liegenden Speicher-Bucket ausschließlich für Ihr Projekt. Sie können von Container Registry gehostete Images in der Google Cloud Console oder durch Eingeben des Registry-Namens des Images in Ihrem Webbrowser aufrufen: http://gcr.io/PROJECT_ID/quickstart-image
.
Image aus Container Registry herunterladen
Führen Sie den folgenden Befehl aus, um das Image aus Container Registry auf Ihren lokalen Rechner herunterzuladen:
docker pull gcr.io/PROJECT_ID/quickstart-image:tag1
Ersetzen Sie PROJECT_ID durch die Projekt-ID der Google Cloud Console.
Wenn die Projekt-ID einen Doppelpunkt (:
) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.
Die Ausgabe sollte in etwa so aussehen:
latest: Pulling from my-project/quickstart-image:tag1
Digest: sha256:70c42...
Status: Image is up to date for gcr.io/my-project/quickstart-image:tag1
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
Führen Sie den folgenden Befehl aus, um das Docker-Image in Container Registry zu löschen:
gcloud container images delete gcr.io/PROJECT_ID/quickstart-image:tag1 --force-delete-tags
Ersetzen Sie PROJECT_ID durch die Projekt-ID der Google Cloud Console.
Wenn die Projekt-ID einen Doppelpunkt (:
) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.
Nächste Schritte
- Weitere Informationen zum Hoch- und Herunterladen von Docker-Images mit Container Registry
- Weitere Informationen zum Verwalten von Docker-Images in Container Registry
- Container Registry mit anderen Google Cloud-Diensten verwenden
- Weitere Informationen zu den Funktionen von Container Registry
- Docker-Einführung
- Lesen Sie unsere Ressourcen zu DevOps und gehen Sie unser Forschungsprogramm durch.