Images hoch- und herunterladen

Auf dieser Seite wird beschrieben, wie Sie Images hoch- und herunterladen, wobei es sich um zwei der gängigsten Vorgänge in Zusammenhang mit Container Registry handelt. Wenn Sie ein neues Image in Container Registry hochladen, müssen Sie es zuerst wie unten beschrieben mit dem Registry-Namen taggen.

In der Kurzanleitung erfahren Sie, wie Sie die Arbeit mit Container Registry schnell aufnehmen.

Unter Images verwalten finden Sie Anleitungen zum Auflisten, Taggen und Löschen von Images.

Hinweise

Folgende Voraussetzungen müssen erfüllt sein:

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

  2. Für Ihr Projekt wurde die Abrechnung aktiviert.

  3. Sie haben Docker installiert. Version 18.03 oder höher ist erforderlich, wenn Sie gcloud als Credential Helper für die Authentifizierung verwenden möchten (empfohlen).

    Wenn Sie ein Linux-basiertes Betriebssystem wie Ubuntu oder Debian verwenden, fügen Sie der Gruppe docker Ihren Nutzernamen hinzu, damit Sie Docker ohne sudo ausführen können:

    sudo usermod -a -G docker ${USER}

    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.

  4. Sie haben die Berechtigungen zum Hoch- und Herunterladen in die Registry und von der Registry.

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

Image in eine Registry hochladen

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

Lokales Image mit dem Registry-Namen taggen

  1. Ermitteln Sie den Registry-Namen:

    1. Wählen Sie einen Hostnamen aus, der den Standort für das Image angibt.

      • gcr.io hostet Images in Rechenzentren in den USA, wobei sich der Standort in Zukunft ändern kann.
      • us.gcr.io hostet Images ebenfalls in Rechenzentren in den USA, jedoch in einem von gcr.io getrennten Storage-Bucket.
      • eu.gcr.io hostet Images in der Europäischen Union.
      • asia.gcr.io hostet Images in Rechenzentren in Asien.

      Diese Standorte entsprechen den Multiregionen für Storage-Buckets von Cloud Storage. Wenn Sie ein Image in eine Registry mit einem neuen Hostnamen hochladen, erstellt Container Registry einen Storage-Bucket in der angegebenen Multiregion. Dieser Bucket wird als Speicher für die Registry verwendet. Innerhalb eines Projekts teilen sich alle Registrys mit demselben Hostnamen einen Storage-Bucket.

      In der Konsole wird der Hostname der Images unter Standort aufgeführt.

    2. Wählen Sie einen Image-Namen aus. Dieser kann sich vom Image-Namen auf Ihrem lokalen Computer unterscheiden.

    3. Kombinieren Sie den Hostnamen, Ihre Projekt-ID der Google Cloud Console und den Image-Namen:

      [HOSTNAME]/[PROJECT-ID]/[IMAGE]
          

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

  2. Taggen Sie das lokale Image mit dem Registry-Namen. Führen Sie dazu folgenden Befehl aus:

    docker tag [SOURCE_IMAGE] [HOSTNAME]/[PROJECT-ID]/[IMAGE]
        

    Dabei ist [SOURCE_IMAGE] der Name des lokalen Images bzw. die Image-ID.

    Dieser Befehl gibt dem Image den Registry-Namen und wendet das Tag latest an. Wenn Sie ein anderes Tag anwenden möchten, verwenden Sie folgenden Befehl:

    docker tag [SOURCE_IMAGE] [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
        

Getaggtes Image in Container Registry hochladen

Der Docker Credential Helper ist die einfachste Möglichkeit, Docker für die direkte Authentifizierung bei Container Registry zu konfigurieren. Anschließend verwenden Sie den docker-Befehl, um Images zu taggen und hoch- und herunterzuladen. Alternativ können Sie auch die Clientbibliotheken zur Verwaltung von Container-Images verwenden oder mit der Docker API direkt interagieren.

Laden Sie das getaggte Image mit folgendem Befehl in Container Registry hoch:

docker push [HOSTNAME]/[PROJECT-ID]/[IMAGE]
    

Mit diesem Befehl wird das Image mit dem Tag latest hochgeladen. Wenn Sie ein Image mit einem anderen Tag hochladen möchten, verwenden Sie folgenden Befehl:

docker push [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
    

Wenn Sie ein Image in eine Registry mit einem neuen Hostnamen hochladen, erstellt Container Registry im angegebenen multiregionalen Standort einen Storage-Bucket. Nach dem Hochladen des Images haben Sie folgende Möglichkeiten:

  • Rufen Sie die Cloud Console auf, um die Registry und das Image anzusehen.

  • Führen Sie gcloud container images list-tags aus, um die Tags des Images und den automatisch generierten Digest anzusehen:

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

    Die Befehlsausgabe sieht in etwa so aus:

    DIGEST        TAGS        TIMESTAMP
        44bde...      test        2017-..-..
        

Images aus einer Registry herunterladen

Verwenden Sie folgenden Befehl, um Images aus Container Registry herunterzuladen:

docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
    

oder

docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST]
    

Dabei gilt:

  • [HOSTNAME] ist in der Konsole unter Standort 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 auf das Image angewendete Tag. In einer Registry gilt jedes Tag für jeweils ein Image.
  • [IMAGE_DIGEST] ist der sha256-Hash-Wert des Image-Inhalts. Klicken Sie in der Konsole auf das jeweilige Image, um dessen Metadaten abzurufen. Der Digest wird unter Image-Digest aufgeführt.

So rufen Sie den Pull-Befehl für ein bestimmtes Image ab:

  1. Klicken Sie auf den Namen eines Images, um zur jeweiligen Registry zu gelangen.

  2. Klicken Sie in der Registry auf das Kästchen neben der Version des Images, die Sie herunterladen möchten.

  3. Klicken Sie oben auf der Seite auf PULL-BEFEHL ANZEIGEN.

  4. Kopieren Sie den Pull-Befehl. Er identifiziert das Image entweder mit dem Tag oder dem Digest.

Nächste Schritte