Gestalten Sie die Zukunft der Softwarebereitstellung und tragen Sie Ihre Stimme durch. Nehmen Sie dazu den 2021 der DevOps-Umfrage an.

Container Registry – Kurzanleitung

Container Registry ist eine private Container-Image-Registry, die in Google Cloud ausgeführt wird.

In dieser Schnellstartanleitung werden folgende Verfahren erläutert:

  • Docker für die Authentifizierung bei Container Registry konfigurieren
  • Image mit einem Tag versehen und per Push an die Registry übertragen
  • Image aus der Registry abrufen

Diese Kurzanleitung konzentriert sich auf das Einbinden von Docker. Allgemeine Informationen zum Einbinden in andere Google Cloud-Dienste finden Sie unter Container Registry mit Google Cloud verwenden.

Hinweis

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Aktivieren Sie die Container Registry API.

    Aktivieren Sie die 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. Bei Docker ist das gcloud-Befehlszeilentool, die primäre Befehlszeile für Google Cloud, bereits vorinstalliert.
Lokale Shell
Wenn Sie Ihre lokale Shell bevorzugen, müssen Sie in Ihrer Umgebung Docker und das Cloud SDK installieren.

Cloud Shell starten

So starten Sie Cloud Shell:

  1. Öffnen Sie die Google Cloud Console.

    Google Cloud Console

  2. Klicken Sie 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:

  1. Installieren Sie das Cloud SDK. Das gcloud-Befehlszeilentool ist dort enthalten. Führen Sie den Befehl gcloud components update aus, um eine vorhandene Installation zu aktualisieren.

  2. Installieren Sie Docker, falls es noch nicht installiert ist.

  3. 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 unter MacOS nicht 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.
  4. 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.

  5. 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:

  6. docker run busybox date
    

Authentifizierung konfigurieren

Bevor Sie Images per Push übetragen oder abrufen können, müssen Sie Docker für die Verwendung des gcloud-Befehlszeilentools konfigurieren, um Anfragen an Container Registry zu authentifizieren.

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.

  1. Wechseln Sie in ein Verzeichnis, in dem Sie das Image speichern möchten
  2. 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

Dabei gilt:

  • PROJECT-ID ist Ihre Projekt-ID der Google Cloud Console, die Sie Ihrem 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-Tag latest 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 Cloud Console oder durch Eingeben des Registry-Namens des Images in Ihrem Webbrowser ansehen: 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 in dieser Kurzanleitung 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