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.

Hinweise

Folgende Voraussetzungen müssen erfüllt sein:

  1. Container Registry ist in Ihrem Projekt aktiviert.

  2. Sie haben Docker installiert.

  3. Konfiguriert 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 über die Google Cloud Console oder die 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ören Alle Standorte und die Hostnamen, die das Projekt derzeit verwendet, wobei es sich um gcr.io, us.gcr.io, eu.gcr.io oder asia.gcr.io handeln kann.

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

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 abgeschnittene Digest wird unter Name und die Tags werden unter Tags aufgelistet.

  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 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.
  • [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 einem Image über die Google Cloud Console oder die Befehlszeile ein Tag hinzufügen.

Ein Digest ist eine automatisch generierte eindeutige Kennung für eine Image-Version. Ein Tag fungiert als Label, das Sie auf eine bestimmte Version eines Images anwenden können.

Sie können einem Image 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 das Tag von 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 mit latest nicht die neueste Version eines Images angegeben wird. Stattdessen verweist dies auf eine Image-Version zur Verfügung, die Sie speziell als latest gekennzeichnet haben, oder auf die neueste Version eines Images ohne Tag. Da die Bedeutung von latest unklar ist, empfehlen wir, das Tag latest zu vermeiden.

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 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.
  • [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 ein Tag über die Google Cloud Console oder die Befehlszeile von einem Image in Container Registry 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 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.
  • [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 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.
  • [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 sind [PROJECT-ID] und [OTHER-PROJECT-ID] die Projekt-IDs der Google Cloud Console für das Projekt, aus dem Sie kopieren, bzw. in das Sie kopieren möchten. 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.

Images löschen

Sie können ein Image über die Google Cloud Console oder die 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 ein Image über die Google Cloud Console oder die gcloud CLI:

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 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.
  • [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