So verwenden Sie den docker scout stream-Befehl zur Verwaltung von Streams

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/ImageOperationsGroup -.-> docker/tag("Tag an Image") docker/ImageOperationsGroup -.-> docker/images("List Images") subgraph Lab Skills docker/pull -.-> lab-555216{{"So verwenden Sie den docker scout stream-Befehl zur Verwaltung von Streams"}} docker/tag -.-> lab-555216{{"So verwenden Sie den docker scout stream-Befehl zur Verwaltung von Streams"}} docker/images -.-> lab-555216{{"So verwenden Sie den docker scout stream-Befehl zur Verwaltung von Streams"}} end

Auflisten vorhandener Streams

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}': awk ist ein leistungsstarkes Textverarbeitungstool. {print $1} teilt awk mit, die erste Spalte jeder Zeile der Eingabe auszugeben. In der Ausgabe von docker images ist die erste Spalte das REPOSITORY.
  • |: Eine weitere Pipe, um die Ausgabe von awk an sort zu senden.
  • sort -u: sort sortiert die Eingabezeilen alphabetisch. -u steht 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.

Auflisten der Images eines bestimmten Streams

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.

Aufzeichnung eines Images in einen Stream für eine bestimmte Plattform

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.

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.