Images verwalten

Auf dieser Seite wird erläutert, wie Sie Images verwalten, die in Container Registry gehostet werden. 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.

Vorbereitung

Folgende Voraussetzungen müssen erfüllt sein:

  1. Sie haben die neueste Version des Cloud SDK installiert, das das gcloud-Befehlszeilentool enthält.

  2. Sie haben Docker installiert.

  3. Sie haben Zugriff auf die Registrys, mit denen Sie arbeiten werden.

  4. Sie haben Docker zur Verwendung von gcloud als Credential Helper konfiguriert oder verwenden eine andere Authentifizierungsmethode. Führen Sie den folgenden Befehl aus, um gcloud als Credential Helper zu verwenden:

    gcloud auth configure-docker
    
  5. Für Docker müssen sich Credential Helper im System-PATH befinden. Achten Sie also darauf, dass sich der Credential Helper Ihrer Wahl (gcloud oder docker-credential-gcr) im System-PATH befindet.

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"

    Seite "Container Registry" öffnen

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

    Seite "Container Registry" öffnen

  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 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. In einer Registry kommt das Tag für eine Version eines Images immer nur einmal vor. Wenn Sie also mehrere Versionen eines Images haben, gilt jedes Tag nur für eine dieser Versionen. Falls Sie einem Image ein Tag hinzufügen, das bereits in Verwendung ist, wird das Tag von der ursprünglichen Version zur neu getaggten Version verschoben.

Console

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

  1. Zur Seite "Container Registry"

    Seite "Container Registry" öffnen

  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"

    Seite "Container Registry" öffnen

  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.

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

gcloud container images add-tag \
gcr.io/[PROJECT-ID]/quickstart-image:tag1 \
eu.gcr.io/[OTHER-PROJECT-ID]/quickstart-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.

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

Console

So löschen Sie ein Image aus einem Ihrer Container Registry-Repositories:

  1. Zur Seite "Container Registry"

    Seite "Container Registry" öffnen

  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

Mit einem der folgenden Befehle können Sie ein Image aus einem Ihrer Container Registry Repositories löschen:

  • 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