In diesem Schritt lernen Sie, wie Sie ein Image in einen Stream für eine bestimmte Plattform "aufzeichnen" können. In Docker-Terminologie wird dies typischerweise dadurch erreicht, dass ein vorhandenes Image mit einem neuen Namen getaggt wird, der den gewünschten Stream und ggf. Plattforminformationen enthält. Das Taggen eines Images erstellt im Wesentlichen einen neuen Zeiger auf eine vorhandene Image-Schicht, sodass Sie sich auf dasselbe Image mit einem anderen Namen und Tag beziehen können.
Der grundlegende Befehl zum Taggen eines Images ist docker tag
. Die Syntax lautet:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
SOURCE_IMAGE[:TAG]
: Dies ist der Name und das optionale Tag des vorhandenen Images, das Sie taggen möchten.
TARGET_IMAGE[:TAG]
: Dies ist der neue Name und das optionale Tag, das Sie dem Image zuweisen möchten. Der Teil TARGET_IMAGE
repräsentiert den Stream-Namen.
Wir verwenden das ubuntu
-Image, das wir im vorherigen Schritt heruntergeladen haben. Wir werden es mit einem neuen Stream-Namen, z. B. myubuntu
, taggen.
Zunächst überprüfen wir das vorhandene ubuntu
-Image und seine ID:
docker images ubuntu
Sie werden eine Ausgabe ähnlich der folgenden sehen und notieren Sie sich die IMAGE ID
:
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest d621e9f15c2f 2 weeks ago 72.8MB
Jetzt taggen wir das ubuntu:latest
-Image mit dem neuen Stream-Namen myubuntu
und dem Tag v1.0
:
docker tag ubuntu:latest myubuntu:v1.0
Dieser Befehl erzeugt bei Erfolg keine große Ausgabe. Er erstellt einfach das neue Tag.
Jetzt listen wir die Images erneut auf, um das neu getaggte Image zu sehen:
docker images
Sie sollten jetzt sowohl das ursprüngliche ubuntu:latest
-Image als auch das neue myubuntu:v1.0
-Image sehen, die beide auf dieselbe IMAGE ID
verweisen:
REPOSITORY TAG IMAGE ID CREATED SIZE
myubuntu v1.0 d621e9f15c2f 2 weeks ago 72.8MB
ubuntu latest d621e9f15c2f 2 weeks ago 72.8MB
hello-world latest d2c94e258dcb 2 months ago 13.3kB
Beachten Sie, dass myubuntu:v1.0
dieselbe IMAGE ID
wie ubuntu:latest
hat. Dies bestätigt, dass myubuntu:v1.0
nur eine neue Referenz auf dieselben zugrunde liegenden Image-Daten ist.
Während der docker tag
-Befehl selbst in der Tagging-Prozess keine explizite Plattformverarbeitung vornimmt, kann das Image selbst für eine bestimmte Plattform gebaut sein. Wenn Sie ein Image herunterladen, lädt Docker typischerweise das Image für die Architektur Ihres Systems herunter. Wenn Sie mit Images für verschiedene Plattformen arbeiten müssen, verwenden Sie typischerweise Tools wie docker buildx
, um Multi-Plattform-Images zu bauen oder geben Sie die Plattform während des Pull-Vorgangs an (z. B. docker pull --platform linux/amd64 ubuntu
). Für den Zweck des "Aufzeichnens" eines vorhandenen Images in einen Stream ist der docker tag
-Befehl jedoch der Standardweg, um eine neue Referenz auf dieses Image innerhalb eines anderen Stream-Namens zu erstellen.