Artifact Registry ist der empfohlene Dienst zur Verwaltung von Container-Images. Container Registry wird weiterhin unterstützt, es werden jedoch nur wichtige Sicherheitsupdates bereitgestellt. Umstellung auf Artifact Registry

Images verwalten

Zur Image-Verwaltung gehört das Auflisten von Images in einem Repository, das Hinzufügen und Löschen von Tags, das Kopieren von Images in ein neues Repository und das Löschen von Images.

Informationen zum Hochladen eines lokalen Images in Container Registry oder zum Herunterladen eines in Container Registry gespeicherten Images finden Sie unter Images hoch- und herunterladen.

Hinweis

Folgende Voraussetzungen müssen erfüllt sein:

  1. Container Registry im Projekt aktiviert

  2. Sie haben Docker installiert.

  3. Konfiguriertes Docker zur Authentifizierung bei der Registry.

  4. Sie haben Berechtigungen zum Zugriff auf die Registry.

Images nach ihrem Speicherort auflisten

Sie können die Images an einem bestimmten Hoststandort mithilfe der Google Cloud Console oder der Befehlszeile auflisten.

Console

So listen Sie die Images an einem Ihrer Hoststandorte auf:

  1. Zur Seite "Container Registry"

    Zur Seite "Container Registry"

  2. Verwenden Sie den Selector über Name, um den Hoststandort auszuwählen. Zu den Optionen gehörenAlle Standorte und die Hostnamen, die das Projekt derzeit verwendet. Dies kann Folgendes umfassen:gcr.io .us.gcr.io ,eu.gcr.io oderasia.gcr.io auf Ihrem Mobilgerät.

gcloud

Verwenden Sie folgenden Befehl, um die Images an einem Ihrer Hoststandorte aufzulisten:

gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]

Dabei gilt:

  • [HOSTNAME] wird in der Konsole unter Location aufgeführt. Dies kann gcr.io, us.gcr.io, eu.gcr.io oder asia.gcr.io sein.
  • [PROJECT-ID] ist 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 Ihre Registrys verschachtelt sind, geben Sie zum Auflisten der verschachtelten Images die Repository-Ebene an, auf der sie gespeichert sind:

gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]/[IMAGE]

Dabei ist [IMAGE] das Repository, unter dem mehr Images verschachtelt sind.

Weitere Informationen finden Sie in der Dokumentation zu gcloud container images list.

Versionen eines Images auflisten

Eine Registry kann verschiedene Versionen eines Images enthalten. Diese Versionen haben denselben Image-Namen und werden anhand ihres Digests und ihrer Tags identifiziert.

Console

So rufen Sie den Digest und die Tags eines Images ab:

  1. Zur Seite "Container Registry"

    Zur Seite "Container Registry"

  2. Klicken Sie auf den Image-Namen, um die Versionen des Images aufzurufen. Der gekürzte Digest wird unter Name und die Tags unter Tags aufgeführt.

  3. Wenn Sie den vollständigen Digest sehen möchten, klicken Sie auf die Version des Images, um dessen Metadaten abzurufen. Der Digest heißt Image-Digest.

gcloud

Führen Sie folgenden Befehl aus, um die abgeschnittenen Digests und Tags eines Images aufzulisten:

gcloud container images list-tags [HOSTNAME]/[PROJECT-ID]/[IMAGE]

Dabei gilt:

  • [HOSTNAME] wird in der Konsole unter Location aufgeführt. Dies kann gcr.io, us.gcr.io, eu.gcr.io oder asia.gcr.io sein.
  • [PROJECT-ID] ist 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.
  • [IMAGE] ist der Image-Name in Container Registry.

Führen Sie folgenden Befehl aus, um den vollständigen Digest der Versionen eines bestimmten Images aufzulisten:

gcloud container images list-tags --format='get(digest)' [HOSTNAME]/[PROJECT-ID]/[IMAGE]

Weitere Informationen finden Sie in der Dokumentation zu gcloud container images list-tags.

Images taggen

Sie können die Google Cloud Console oder die Befehlszeile verwenden, um einem Image ein Tag hinzuzufügen.

Ein Digest ist eine automatisch generierte eindeutige ID für eine Imageversion. Ein Tag dient als Label, das Sie auf eine bestimmte Version eines Bildes anwenden können.

Sie können einem Bild mehrere Tags hinzufügen. Innerhalb eines Repositorys muss jedes Tag für ein Image eindeutig sein. Wenn Sie beispielsweise das Tag release-candidate der neunten Version Ihres Images hinzufügen, wird dieses Tag aus der neunten Version in die zehnte Version verschoben,

Wenn Sie ein Image nicht mit einem Tag versehen, fügt der Docker-Client das Standard-Tag latest hinzu. Das bedeutet, dass latest nicht die neueste Version eines Images angibt. Stattdessen bezeichnet sie eine Image-Version, die Sie speziell mit dem Tag latest gekennzeichnet haben, oder die neueste nicht getaggte Version eines Images. Da die Bedeutung von latest unklar ist, sollten Sie das Tag latest nicht verwenden.

Console

So taggen Sie ein Image, das in Container Registry gehostet wird:

  1. Zur Seite "Container Registry"

    Zur Seite "Container Registry"

  2. Klicken Sie auf den Image-Namen, um die Version des Images aufzurufen.

  3. Klicken Sie unter Tags auf das Bearbeitungssymbol.

  4. Geben Sie neue Tags in das Feld ein und klicken Sie danach auf SPEICHERN.

gcloud

Verwenden Sie den Befehl gcloud container images add-tag, um in Container Registry gehostete Images zu taggen:

gcloud container images add-tag \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]

oder

gcloud container images add-tag \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST] \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]

Dabei gilt:

  • [HOSTNAME] wird in der Konsole unter Location aufgeführt. Dies kann gcr.io, us.gcr.io, eu.gcr.io oder asia.gcr.io sein.
  • [PROJECT-ID] ist 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.
  • [IMAGE] ist der Image-Name in Container Registry.
  • [TAG] ist das Tag, das bereits auf das Image angewendet wurde.
  • [IMAGE_DIGEST] ist der sha256-Hash-Wert des Image-Inhalts.
  • [NEW_TAG] ist das neue Tag, das Sie dem Image hinzufügen.

Weitere Informationen zu diesem Befehl finden Sie unter gcloud container images add-tag.

Lokale Images für das Hosting in Container Registry taggen

Bevor Sie ein lokales Image in Container Registry hochladen können, müssen Sie es zuerst mit dem Namen der Registry taggen. Eine Anleitung finden Sie unter Image in eine Registry hochladen.

Tags von Images entfernen

Sie können die Google Cloud Console oder die Befehlszeile verwenden, um ein Tag von einem Image zu entfernen.

Console

  1. Zur Seite "Container Registry"

    Zur Seite "Container Registry"

  2. Klicken Sie auf den Image-Namen, um die Version des Images aufzurufen.

  3. Klicken Sie unter Tags auf das Bearbeitungssymbol.

  4. Löschen Sie das Tag und klicken Sie danach auf SPEICHERN.

gcloud

Verwenden Sie folgenden Befehl, um ein Tag von einem Image zu entfernen:

gcloud container images untag [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]

Dabei gilt:

  • [HOSTNAME] wird in der Konsole unter Location aufgeführt. Dies kann gcr.io, us.gcr.io, eu.gcr.io oder asia.gcr.io sein.
  • [PROJECT-ID] ist 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.
  • [IMAGE] ist der Image-Name in Container Registry.
  • [TAG] ist das Tag, das Sie entfernen möchten.

    Weitere Informationen zu diesem Befehl finden Sie unter gcloud container images untag.

Images in eine neue Registry kopieren

Sie können ein Image über die Google Cloud Platform Console oder die Befehlszeile von einem Repository in ein anderes kopieren. Dazu müssen Sie auf beide Repositories zugreifen können.

Zum Kopieren eines Images von einem Repository in ein anderes verwenden Sie den Befehl gcloud container images add-tag und ermitteln das zu verschiebende Image anhand seines Tags:

gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]:[SOURCE_TAG] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]

oder anhand seines Digests:

gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]@[IMAGE_DIGEST] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]

Dabei gilt in beiden Fällen für Quelle und Ziel:

  • [HOSTNAME] ist der Standort, an dem das Image gehostet wird, und lautet entweder gcr.io, us.gcr.io, eu.gcr.io oder asia.gcr.io.
  • [PROJECT-ID] ist 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.
  • [IMAGE] ist der Image-Name in Container Registry.
  • [IMAGE_DIGEST] ist der sha256-Hash-Wert des Image-Inhalts.
  • [TAG] ist das Tag, das das zu verschiebende Quell-Image identifiziert, bzw. das Tag, das auf das Image im Ziel-Repository anzuwenden ist.

Beispiel: Wenn Sie das Image my-image in das Repository eines anderen Projekts und in den europäischen Host kopieren möchten, Image-Namen und Tag aber beibehalten möchten, führen Sie folgenden Befehl aus:

gcloud container images add-tag \
gcr.io/[PROJECT-ID]/my-image:tag1 \
eu.gcr.io/[OTHER-PROJECT-ID]/my-image:tag1

Dabei stehen [PROJECT-ID] und [OTHER-PROJECT-ID] jeweils für die in der Google Cloud Console verwendeten Projekt-IDs der Projekte, aus denen kopiert bzw. in die kopiert wird. Sie brauchen Zugriff auf die Repositories in beiden Projekten. Wenn eine der beiden Projekt-IDs einen Doppelpunkt hat (:), finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.

Weitere Informationen zu diesem Befehl finden Sie unter gcloud container images add-tag.

Bilder löschen

Sie können ein Image mit der Google Cloud Console oder der Befehlszeile löschen. Das Löschen eines Images kann nicht rückgängig gemacht werden.

Es sind noch weitere Tools für die Verwaltung nicht verwendeter Images verfügbar. Das Tool gcr-clean sucht und löscht beispielsweise alte Images anhand verschiedener Kriterien. Durch Entfernen nicht verwendeter Images können Sie die Speicherkosten reduzieren. Das gcr-cleaner-Tool ist kein offizielles Google-Produkt.

So löschen Sie Images aus der Google Cloud Console oder mit dem gcloud-Tool:

Console

  1. Zur Seite "Container Registry"

    Zur Seite "Container Registry"

  2. Klicken Sie auf den Image-Namen, um die Version(en) des Images aufzurufen.

  3. Klicken Sie in der Registry auf die Kästchen neben den Versionen des Images, die Sie löschen möchten.

  4. Klicken Sie oben auf der Seite auf LÖSCHEN.

  5. Klicken Sie im Pop-up-Fenster Repository-Elemente löschen auf LÖSCHEN.

gcloud

Führen Sie einen der folgenden Befehle aus:

  • Für ein durch seinen Digest identifiziertes Image:

    gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST]
    
  • Für ein durch sein Tag identifiziertes Image mit mehreren Tags:

    gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] --force-delete-tags
    

Dabei gilt:

  • [HOSTNAME] wird in der Konsole unter Location aufgeführt. Dies kann gcr.io, us.gcr.io, eu.gcr.io oder asia.gcr.io sein.
  • [PROJECT-ID] ist 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.
  • [IMAGE] ist der Image-Name in Container Registry.
  • [IMAGE_DIGEST] ist der sha256-Hash-Wert des Image-Inhalts.
  • [TAG] ist das Tag des Images, das Sie entfernen möchten.

Weitere Informationen zu diesem Befehl finden Sie unter gcloud container images delete.

Nächste Schritte