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
- Wenn das Ziel-Repository nicht vorhanden ist, erstellen Sie ein neues Repository.
- Sie müssen auf das Repository mindestens Zugriff als Artifact Registry-Autor haben.
- Installieren Sie Docker, falls es noch nicht installiert ist.
- 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
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.
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
- Mehr über das Verwalten von Tags und das Löschen von Images erfahren
- Mehr über Container in Compute Engine erfahren, wenn Sie Container in Compute Engine ausführen möchten