Kurzanleitung: Docker-Container-Images in Artifact Registry speichern

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:

  • Docker-Repository in Artifact Registry erstellen
  • Authentifizierung einrichten
  • Image in das Repository hochladen
  • Image aus dem Repository herunterladen

Wenn Sie eine direkte Anleitung für diese Aufgabe direkt in der Konsole aufrufen möchten, klicken Sie auf Anleitung:

Anleitung


Die folgenden Abschnitte führen Sie durch dieselben Schritte wie das Klicken auf Anleitung.

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 ein Projekt aktiviert ist.

  4. Artifact Registry API aktivieren.

    Aktivieren Sie die API

  5. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

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

  7. Artifact Registry API aktivieren.

    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. Es ist mit Docker und der Google Cloud CLI, der primären Befehlszeilenoberfläche für Google Cloud, vorinstalliert.
Lokale Shell
Wenn Sie Ihre lokale Shell verwenden möchten, müssen Sie Docker und die gcloud-Befehlszeile in Ihrer Umgebung installieren.

Cloud Shell starten

So starten Sie Cloud Shell:

  1. Rufen Sie die Google Cloud Console auf.

    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-Befehlszeile und Docker zu installieren:

  1. Installieren Sie das gcloud-CLI. 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 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.
  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 --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

  1. Öffnen Sie die Seite Repositories in der Console.

    Zur Seite „Repositories“

  2. Klicken Sie auf Repository erstellen.

  3. Geben Sie quickstart-docker-repo als Repository-Namen an.

  4. Wählen Sie „Docker“ als Format aus.

  5. Wählen Sie unter Standorttyp die Option Region und dann den Standort us-central1 aus.

  6. Klicken Sie auf Erstellen.

Das Repository wird der Repository-Liste hinzugefügt.

gcloud

  1. Führen Sie den folgenden Befehl aus, um ein neues Docker-Repository mit dem Namen quickstart-docker-repo am Speicherort us-central1 mit der Beschreibung „docker repository“ zu erstellen.

    gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \
    --location=us-central1 --description="Docker repository"
    
  2. Führen Sie den folgenden Befehl aus, um zu prüfen, ob Ihr Repository erstellt wurde:

    gcloud artifacts repositories list
    

Weitere Informationen zu Artifact Registry-Befehlen erhalten Sie mit dem Befehl gcloud artifacts.

Authentifizierung konfigurieren

Bevor Sie Images übertragen oder abrufen können, konfigurieren Sie Docker für die Authentifizierung der Anfragen an Artifact Registry über die Google Cloud-Befehlszeile.

Um die Authentifizierung für Docker-Repositories in der Region us-central1 einzurichten, führen Sie folgenden Befehl aus:

gcloud auth configure-docker us-central1-docker.pkg.dev

Mit dem Befehl wird die Docker-Konfiguration aktualisiert. Sie können jetzt eine Verbindung zu Artifact Registry in Ihrem Google 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.

  1. Wechseln Sie in das 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 us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
    

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 Hoststandort us-central1-docker.pkg.dev.

Führen Sie den folgenden Befehl aus, um das Image als quickstart-image:tag1 zu taggen:

docker tag us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 \
us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Wo

  • PROJECT ist Ihre Google Cloud-Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (:) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.
  • us-central1 ist der Speicherort des Repositorys.
  • docker.pkg.dev ist der Hostname für Docker-Repositories.
  • quickstart-image ist der Image-Name, der im Repository verwendet werden soll. Der Image-Name kann sich vom Image-Namen des lokalen Images unterscheiden.
  • tag1 ist ein Tag, das Sie dem Docker-Image hinzufügen. Wenn Sie kein Tag angegeben haben, wendet Docker das Standard-Tag latest 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:

docker push us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Ersetzen Sie PROJECT durch Ihre Google Cloud-Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (:) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.

Image aus Artifact Registry herunterladen

Um das Image aus Artifact Registry auf Ihren lokalen Rechner herunterzuladen, führen Sie folgenden Befehl aus:

docker pull us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Ersetzen Sie PROJECT durch Ihre Google Cloud-Projekt-ID. 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 [PROJECT-ID]/quickstart-image:tag1
Digest: sha256:70c42...
Status: Image is up to date for us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Bereinigen

So vermeiden Sie, dass Ihrem Google 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

  1. Öffnen Sie die Seite Repositories in der Console.

    Zur Seite „Repositories“

  2. Wählen Sie in der Repository-Liste das Repository quickstart-docker-repo aus.

  3. 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=us-central1

Weitere Informationen