Gestalten Sie die Zukunft der Softwarebereitstellung und tragen Sie Ihre Stimme durch. Nehmen Sie dazu den 2021 der DevOps-Umfrage an.

Images hoch- und herunterladen

Auf dieser Seite wird gezeigt, wie Sie Container-Images hoch- und herunterladen.

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

Hinweis

  1. Wenn das Ziel-Repository nicht vorhanden ist, erstellen Sie ein neues Repository.
  2. Sie müssen auf das Repository mindestens Zugriff als Artifact Registry-Autor haben.
  3. Installieren Sie Docker, falls es noch nicht installiert ist.
  4. Authentifizierung für Docker konfigurieren

Image hochladen

Um ein lokales Image in ein Artifact Registry-Repository per Push zu übertragen, taggen Sie es mit dem Repository-Namen und laden es dann hoch.

Beim Hochladen großer Bilder gelten die folgenden Beschränkungen:

Upload-Zeitpunkt
Wenn Sie sich mit einem Zugriffstoken bei Artifact Registry authentifizieren, läuft das Token nach 60 Minuten ab. Wenn Sie davon ausgehen, dass Ihre Uploaddauer 60 Minuten überschreitet, verwenden Sie eine andere Authentifizierungsmethode.
Bildgröße
Die maximale Artefaktgröße beträgt 5 TB.
Artifact Registry unterstützt keine aufgeteilten Docker-Uploads. Einige Tools unterstützen das Hochladen großer Bilder entweder mit aufgeteilten Uploads oder mit einem einzelnen monolithischen Upload. Sie müssen monolithische Uploads verwenden, um Images an Artifact Registry zu übertragen.

Lokales Image taggen

  1. Legen Sie den Namen des Images fest. Der vollständige Image-Name hat folgendes Format:

    LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE
    

    wobei

    • LOCATION ist der regionale oder multiregionale Speicherort des Repositorys, in dem das Image gespeichert ist.

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

    • REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.

    • IMAGE ist der Image-Name. Dieser kann vom lokalen Image-Namen abweichen.

    Angenommen, Sie haben ein Image mit folgenden Merkmalen:

    • Speicherort des Repositorys: us
    • Repository-Name: my-repo
    • Projekt-ID: my-project
    • Name des lokalen Images: my-image
    • Name des Ziel-Images: test-image

    Der Image-Name in diesem Beispiel lautet dann:

    us-docker.pkg.dev/my-project/my-repo/test-image
    

    Weitere Informationen zum Format des Image-Namens sowie zur Handhabung von auf Domains beschränkten Projekten finden Sie unter Repository- und Image-Namen.

  2. Taggen Sie das lokale Image mit dem Repository-Namen:

    docker tag SOURCE-IMAGE LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE
    

    Dabei ist SOURCE-IMAGE der Name des lokalen Images bzw. die Image-ID.

    Dieser Befehl gibt dem Image den Repository-Namen und wendet das Tag latest an.

    Für das Beispiel-Image aus dem vorherigen Schritt verwenden Sie den folgenden Befehl, wenn sich das lokale Image my-image im aktuellen Verzeichnis befindet:

    docker tag my-image us-docker.pkg.dev/my-project/my-repo/test-image
    

    Wenn Sie ein bestimmtes Tag anwenden möchten, geben Sie folgenden Befehl ein:

    docker tag SOURCE-IMAGE LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG
    

    Um das Tag staging für das Beispiel-Image zu verwenden, fügen Sie zum Befehl :staging hinzu:

    docker tag my-image us-docker.pkg.dev/my-project/my-repo/test-image:staging
    

Getaggtes Image in Artifact Registry hochladen

Laden Sie das getaggte Image mit dem folgenden Befehl hoch:

docker push LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/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 LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG

Wenn Sie ein Image hochladen, wird es in dem angegebenen Repository gespeichert.

Nach dem Hochladen des Images haben Sie folgende Möglichkeiten:

  • Rufen Sie die Cloud Console auf, um sich das Image anzeigen zu lassen.

  • Führen Sie den Befehl gcloud aus, um die Tags und den automatisch generierten Digest des Images anzeigen zu lassen:

    gcloud artifacts docker images list \
    LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE [--include-tags]
    

    Die folgende Beispielausgabe enthält abgeschnittene Image-Digests. Der Befehl gibt aber immer den vollständigen Image-Digest zurück.

     IMAGE                                                 DIGEST         CREATE_TIME          UPDATE_TIME
      us-west1-docker.pkg.dev/my-project/my-repo/my-image  sha256:85f...  2019-04-10T15:08:45  2019-04-10T15:08:45
      us-west1-docker.pkg.dev/my-project/my-repo/my-image  sha256:238...  2019-04-10T17:23:53  2019-04-10T17:23:53
      us-west1-docker.pkg.dev/my-project/my-repo/my-image  sha256:85f...  2019-04-10T15:08:46  2019-04-10T15:08:46
      ```
    

Images herunterladen

Zum Herunterladen von Daten aus einem Repository verwenden Sie folgenden Befehl:

docker pull LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG

oder

docker pull LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST

wobei

  • LOCATION ist der regionale oder multiregionale Speicherort des Repositorys, in dem das Image gespeichert ist.

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

  • REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.

  • IMAGE ist der Name des Images im Repository.

  • TAG ist das Tag für die Image-Version, die Sie herunterladen möchten.

  • IMAGE-DIGEST ist der sha256-Hash-Wert des Image-Inhalts. Jede Version eines Images hat einen eindeutigen Image-Digest. Klicken Sie in der Google Cloud Console auf das jeweilige Image, um dessen Metadaten aufzurufen. Der Digest wird unter Image-Digest aufgeführt.

Angenommen, Sie haben ein Image mit folgenden Merkmalen:

  • Speicherort des Repositorys: us
  • Repository-Name: my-repo
  • Projekt-ID: my-project
  • Image-Name: test-image
  • Tag: staging

Der Befehl zum Herunterladen dieses Images lautet dann:

docker pull us-docker.pkg.dev/my-project/my-repo/test-image:staging

Nächste Schritte