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

Hinweis

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. Enable the Artifact Registry API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  4. Make sure that you have the following role or roles on the project: Artifact Registry Administrator

    Check for the roles

    1. In the Cloud de Confiance console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. 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.

    4. 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

    1. In the Cloud de Confiance console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. In the New principals field, enter your user identifier. This is typically the identifier for a user in a workforce identity pool. For details, see Represent workforce pool users in IAM policies, or contact your administrator.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. Click Save.

Lokale Shell einrichten

Führen Sie die folgenden Schritte aus, um die gcloud CLI und Docker zu installieren:

  1. Installieren Sie die gcloud CLI. Wenn Sie eine vorhandene Installation aktualisieren möchten, führen Sie den Befehl gcloud components update aus.

  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:

    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 in der Cloud de Confiance console die Seite Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie auf add Repository erstellen.

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

  4. Wählen Sie Docker als Format und Standard als Modus aus.

  5. Wählen Sie unter Standorttyp die Option Region und dann den Standort u-france-east1 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 u-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 Ihre Cloud de Confiance by S3NS Projekt-ID.

  2. 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, 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 Cloud de Confiance 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 Beispiel-Image 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 Repository containers.

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 u-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 Cloud de Confiance 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-ID quickstart-docker-repo.
  • 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 u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Ersetzen Sie PROJECT durch Ihre Cloud de Confiance by S3NS Projekt-ID.

Image aus Artifact Registry herunterladen

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

docker pull u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Ersetzen Sie PROJECT durch Ihre Cloud de Confiance by S3NS Projekt-ID.
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 Cloud de Confiance -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 in der Cloud de Confiance console die Seite Repositories.

    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=u-france-east1

Nächste Schritte