Einführung
In diesem Lab lernen Sie, wie Sie Streams mit dem Befehl docker scout stream verwalten können. Streams sind im Wesentlichen Sammlungen von Images, und das Verständnis, wie man mit ihnen interagiert, ist entscheidend für die effektive Organisation und Verwaltung Ihrer Docker-Images.
Sie beginnen damit, zu lernen, wie Sie vorhandene Streams auflisten können, um zu sehen, welche Image-Sammlungen verfügbar sind. Anschließend werden Sie untersuchen, wie Sie die spezifischen Images auflisten können, die in einem bestimmten Stream enthalten sind. Schließlich lernen Sie, wie Sie ein Image für eine bestimmte Plattform in einem Stream aufzeichnen können, sodass Sie Images mit ihren jeweiligen Streams und Plattformen verknüpfen können.
Vorhandene Streams auflisten
In diesem Schritt lernen Sie, wie Sie vorhandene Streams in Docker auflisten können. Streams sind im Wesentlichen Repositories oder Sammlungen von Images. Das Auflisten von Streams hilft Ihnen, zu sehen, welche Image-Sammlungen Ihnen zur Verfügung stehen.
Zunächst verwenden wir den Befehl docker images, um alle verfügbaren Images aufzulisten. Dieser Befehl zeigt Ihnen die Images an, die derzeit auf Ihrem System heruntergeladen sind.
docker images
Sie sollten eine Ausgabe ähnlich der folgenden sehen, obwohl die spezifischen Images je nach den heruntergeladenen Images variieren werden:
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest d621e9f15c2f 2 weeks ago 72.8MB
hello-world latest d2c94e258dcb 2 months ago 13.3kB
Die Spalte REPOSITORY in der Ausgabe repräsentiert den Stream-Namen. Die Spalte TAG repräsentiert eine bestimmte Version innerhalb dieses Streams.
Um nur die eindeutigen Stream-Namen (Repositories) aufzulisten, können Sie die Ausgabe von docker images verarbeiten. Wir können Befehlszeilentools wie awk und sort verwenden, um dies zu erreichen.
docker images | awk '{print $1}' | sort -u
Lassen Sie uns diesen Befehl analysieren:
docker images: Dieser Befehl listet alle Images auf.|: Dies ist eine Pipe, die die Ausgabe des Befehls auf der linken Seite als Eingabe an den Befehl auf der rechten Seite sendet.awk '{print $1}':awkist ein leistungsstarkes Textverarbeitungstool.{print $1}teiltawkmit, die erste Spalte jeder Zeile der Eingabe auszugeben. In der Ausgabe vondocker imagesist die erste Spalte dasREPOSITORY.|: Eine weitere Pipe, um die Ausgabe vonawkansortzu senden.sort -u:sortsortiert die Eingabezeilen alphabetisch.-usteht für "unique" (eindeutig), was doppelte Zeilen entfernt. Dies gibt uns eine Liste eindeutiger Repository-Namen, die unsere Streams sind.
Die Ausgabe wird eine Liste eindeutiger Repository-Namen sein, wie diese:
REPOSITORY
hello-world
ubuntu
Dieser Befehl listet effektiv die vorhandenen Streams (Repositories) auf, für die Images auf Ihrem System heruntergeladen wurden.
Images eines bestimmten Streams auflisten
Im vorherigen Schritt haben Sie gelernt, wie Sie alle vorhandenen Streams (Repositories) auflisten können. Jetzt lernen Sie, wie Sie die Images auflisten können, die zu einem bestimmten Stream gehören. Dies ist nützlich, wenn Sie die verschiedenen Versionen (Tags) eines bestimmten Images sehen möchten.
Um die Images eines bestimmten Streams aufzulisten, können Sie den Befehl docker images gefolgt vom Stream-Namen verwenden. Beispielsweise würden Sie den folgenden Befehl verwenden, um alle Images im ubuntu-Stream aufzulisten:
docker images ubuntu
Bevor Sie diesen Befehl ausführen, stellen Sie sicher, dass das ubuntu-Image auf Ihrem System verfügbar ist. Wenn es nicht verfügbar ist, können Sie es mit dem Befehl docker pull herunterladen.
docker pull ubuntu
Sie sollten eine Ausgabe sehen, die anzeigt, dass das Image heruntergeladen wird.
Using default tag: latest
latest: Pulling from library/ubuntu
...
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
Jetzt, da das ubuntu-Image verfügbar ist, können Sie die Images im ubuntu-Stream auflisten:
docker images ubuntu
Die Ausgabe zeigt die Images an, die zum ubuntu-Stream gehören. Wenn Sie nur das latest-Tag heruntergeladen haben, sollten Sie etwas wie Folgendes sehen:
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest d621e9f15c2f 2 weeks ago 72.8MB
Wenn Sie andere Tags von ubuntu heruntergeladen hätten, würden diese ebenfalls hier aufgelistet werden.
Sie können ubuntu durch jeden anderen Stream-Namen ersetzen, den Sie in der Ausgabe von docker images aus dem vorherigen Schritt gesehen haben, um die Images in diesem bestimmten Stream aufzulisten. Beispielsweise können Sie den folgenden Befehl verwenden, um die Images im hello-world-Stream aufzulisten:
docker images hello-world
Dieser Befehl zeigt Ihnen die verfügbaren Images für den hello-world-Stream an.
Ein Image für eine bestimmte Plattform in einem Stream aufzeichnen
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 TeilTARGET_IMAGEreprä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.
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie Streams mit dem Befehl docker scout stream verwalten können. Sie haben zunächst verstanden, wie Sie vorhandene Streams auflisten können, die im Wesentlichen Repositories oder Sammlungen von Images sind. Sie haben den Befehl docker images verwendet, um alle heruntergeladenen Images anzuzeigen, und dann die Ausgabe mit awk und sort -u verarbeitet, um die eindeutigen Stream-Namen (Repositories) zu extrahieren und aufzulisten.
Sie haben auch gelernt, wie Sie die Images auflisten können, die zu einem bestimmten Stream gehören, und wie Sie ein Image in einen Stream für eine bestimmte Plattform aufzeichnen können. Diese Schritte demonstrieren grundlegende Operationen zur Organisation und Verwaltung Ihrer Docker-Images im Kontext von Streams.



