So nutzen Sie den docker scout watch-Befehl zur Überwachung von Container-Images

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 den Befehl docker scout watch effektiv nutzen können, um Container-Images zu überwachen. Sie werden verschiedene Szenarien untersuchen, beginnend mit der Überwachung eines bestimmten Repositorys auf neue Images und anschließend die Verfeinerung Ihrer Überwachung durch Filtern nach Tags. Sie werden auch erfahren, wie Sie Ihre Überwachung auf alle Repositorys innerhalb einer Registry erweitern können und schließlich, wie Sie eine Überwachung starten, die alle vorhandenen Images in einem Repository umfasst. Durch praktische Übungen gewinnen Sie praktische Erfahrungen bei der Einrichtung und Verwaltung der Image-Überwachung mit Docker Scout.


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/push("Push Image to Repository") docker/ImageOperationsGroup -.-> docker/images("List Images") docker/ImageOperationsGroup -.-> docker/search("Search Images in Repository") subgraph Lab Skills docker/pull -.-> lab-555218{{"So nutzen Sie den docker scout watch-Befehl zur Überwachung von Container-Images"}} docker/tag -.-> lab-555218{{"So nutzen Sie den docker scout watch-Befehl zur Überwachung von Container-Images"}} docker/push -.-> lab-555218{{"So nutzen Sie den docker scout watch-Befehl zur Überwachung von Container-Images"}} docker/images -.-> lab-555218{{"So nutzen Sie den docker scout watch-Befehl zur Überwachung von Container-Images"}} docker/search -.-> lab-555218{{"So nutzen Sie den docker scout watch-Befehl zur Überwachung von Container-Images"}} end

Überwachen eines bestimmten Repositorys auf neue Images

In diesem Schritt lernen Sie, wie Sie ein bestimmtes Docker-Repository auf neue Images überwachen können, indem Sie den Befehl docker pull verwenden. Dies ist eine grundlegende Operation in Docker, die es Ihnen ermöglicht, Images von einer Registry auf Ihren lokalen Rechner herunterzuladen.

Zunächst laden wir ein bestimmtes Image aus der Docker Hub Registry herunter. Wir verwenden das hello-world-Image, ein sehr kleines Image, das zum Testen von Docker-Installationen verwendet wird.

docker pull hello-world

Sie sollten eine Ausgabe sehen, die anzeigt, dass das Image heruntergeladen wird.

Using default tag: latest
latest: Pulling from library/hello-world
...
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest

Dieser Befehl teilt Docker mit, das hello-world-Image mit dem Tag latest aus der Standard-Registry (Docker Hub) herunterzuladen. Wenn das Image bereits lokal vorhanden ist, überprüft Docker, ob eine neuere Version verfügbar ist, und lädt sie bei Bedarf herunter.

Als Nächstes listen wir die Images auf Ihrem lokalen Rechner auf, um zu bestätigen, dass das hello-world-Image heruntergeladen wurde.

docker images

Sie sollten hello-world in der Ausgabe sehen.

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    ...            ...            ...

Dieser Befehl zeigt Ihnen eine Liste aller auf Ihrem lokalen Rechner gespeicherten Docker-Images, einschließlich ihres Repositorys, Tags, Image-IDs, Erstellungsdatums und Größen.

Jetzt versuchen wir, das gleiche Image erneut herunterzuladen. Da Sie bereits die neueste (latest) Version von hello-world haben, wird Docker es nicht erneut herunterladen.

docker pull hello-world

Die Ausgabe wird anzeigen, dass das Image auf dem neuesten Stand ist.

Using default tag: latest
latest: Pulling from library/hello-world
Status: Image is up to date for hello-world:latest
docker.io/library/hello-world:latest

Dies zeigt, wie docker pull vor dem Herunterladen auf neuere Versionen prüft.

Überwachen eines bestimmten Repositorys und Filtern nach Tag

In diesem Schritt lernen Sie, wie Sie ein bestimmtes Docker-Repository überwachen und beim Herunterladen von Images nach Tags filtern können. Docker-Images haben oft verschiedene Versionen oder Varianten, die durch Tags identifiziert werden. Das Angeben eines Tags ermöglicht es Ihnen, eine bestimmte Version eines Images herunterzuladen.

Im vorherigen Schritt haben wir das hello-world-Image mit dem Standard-Tag latest heruntergeladen. Jetzt laden wir ein anderes Image herunter, beispielsweise das ubuntu-Image, und geben ein bestimmtes Tag an. Wir laden das Tag 20.04, das der Ubuntu 20.04 LTS-Version entspricht.

docker pull ubuntu:20.04

Sie werden eine Ausgabe sehen, die den Downloadfortschritt für das angegebene Ubuntu-Image-Tag anzeigt.

20.04: Pulling from library/ubuntu
...
Status: Downloaded newer image for ubuntu:20.04
docker.io/library/ubuntu:20.04

Dieser Befehl teilt Docker mit, das ubuntu-Image speziell mit dem Tag 20.04 herunterzuladen. Wenn Sie kein Tag angeben, verwendet Docker standardmäßig latest.

Jetzt listen wir erneut Ihre lokalen Images auf, um das neu heruntergeladene ubuntu:20.04-Image zu sehen.

docker images

Sie sollten jetzt sowohl hello-world:latest als auch ubuntu:20.04 in der Liste sehen.

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    ...            ...            ...
ubuntu        20.04     ...            ...            ...

Dies zeigt, dass Sie erfolgreich eine bestimmte Version des ubuntu-Images heruntergeladen haben, indem Sie sein Tag angegeben haben.

Sie können auch andere Tags desselben Images herunterladen. Beispielsweise laden wir das Tag 18.04 des ubuntu-Images herunter.

docker pull ubuntu:18.04

Wiederum werden Sie den Downloadfortschritt sehen.

18.04: Pulling from library/ubuntu
...
Status: Downloaded newer image for ubuntu:18.04
docker.io/library/ubuntu:18.04

Wenn Sie Ihre Images noch einmal auflisten, werden alle drei von Ihnen heruntergeladenen Images angezeigt.

docker images

Die Ausgabe wird jetzt auch ubuntu:18.04 enthalten.

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    ...            ...            ...
ubuntu        20.04     ...            ...            ...
ubuntu        18.04     ...            ...            ...

Dies zeigt, wie Sie Tags verwenden können, um verschiedene Versionen desselben Images auf Ihrem lokalen Rechner zu verwalten.

Überwachen aller Repositorys in einer Registry

In diesem Schritt lernen Sie, wie Sie die Repositorys in einer Docker-Registry auflisten können. Während docker pull für einzelne Images verwendet wird, gibt es keinen einzigen Befehl, um alle Repositorys in einer öffentlichen Registry wie Docker Hub direkt über die Docker CLI zu "überwachen" oder aufzulisten, da es einfach zu viele Repositorys gibt. Sie können jedoch nach Repositorys anhand von Schlüsselwörtern suchen.

Der Befehl docker search ermöglicht es Ihnen, in der Docker Hub Registry nach Images zu suchen. Suchen wir nach Images, die sich auf "nginx" beziehen.

docker search nginx

Sie werden eine Liste von Repositorys sehen, die dem Suchbegriff "nginx" entsprechen.

NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                              Official build of Nginx.                        16000     [OK]
...

Die Ausgabe enthält Informationen zu jedem passenden Repository, einschließlich seines Namens, seiner Beschreibung, der Anzahl der Sterne und ob es sich um ein offizielles Image oder einen automatisierten Build handelt.

Sie können auch die Suchergebnisse filtern. Beispielsweise können Sie die Option --filter verwenden, um nur die offiziellen Images zu sehen, die sich auf "ubuntu" beziehen.

docker search --filter is-official=true ubuntu

Dieser Befehl zeigt Ihnen nur die offiziellen Ubuntu-Repositorys.

NAME      DESCRIPTION                STARS     OFFICIAL   AUTOMATED
ubuntu    Ubuntu is a Debian-based...   14000     [OK]

Obwohl docker search nicht alle Repositorys auflistet, ist es die wichtigste Methode, um Images in einer Registry über die Docker CLI zu entdecken. Um eine umfassende Liste der Repositorys in einer großen öffentlichen Registry wie Docker Hub zu erhalten, müssen Sie in der Regel die API der Registry oder eine Web-Oberfläche verwenden.

Für den Zweck dieses Labs ist es wichtig, zu verstehen, wie man nach Images sucht und diese entdeckt, um die Repositorys zu finden, die man "überwachen" oder von denen man Images herunterladen möchte.

Überwachen eines Repositorys und Pushen aller vorhandenen Images

In diesem Schritt lernen Sie, wie Sie ein vorhandenes Image taggen und es in eine Docker-Registry pushen können. Das Pushen von Images ermöglicht es Ihnen, Ihre benutzerdefinierten Images oder modifizierte Versionen von vorhandenen Images mit anderen zu teilen oder sie an einem Remote-Speicherort zu speichern.

Bevor Sie ein Image pushen können, müssen Sie es mit der Registry-Adresse, Ihrem Benutzernamen und dem Repository-Namen taggen. Wir verwenden das ubuntu:20.04-Image, das Sie im vorherigen Schritt heruntergeladen haben. Taggen wir es, um es auf Docker Hub zu pushen. Ersetzen Sie your_docker_username durch Ihren tatsächlichen Docker Hub-Benutzernamen.

docker tag ubuntu:20.04 your_docker_username/ubuntu:20.04

Dieser Befehl erstellt einen neuen Tag für das ubuntu:20.04-Image. Der neue Tag lautet your_docker_username/ubuntu:20.04. Das Format ist [registry]/[username]/[repository]:[tag]. Wenn Sie auf Docker Hub pushen, können Sie den Registry-Teil (docker.io/) weglassen.

Jetzt listen wir erneut Ihre lokalen Images auf, um den neuen Tag zu sehen.

docker images

Sie sollten einen Eintrag sehen, bei dem your_docker_username/ubuntu das Repository und 20.04 der Tag ist, und der dieselbe Image-ID wie das ursprüngliche ubuntu:20.04-Image hat.

REPOSITORY                     TAG       IMAGE ID       CREATED        SIZE
hello-world                    latest    ...            ...            ...
ubuntu                         20.04     ...            ...            ...
ubuntu                         18.04     ...            ...            ...
your_docker_username/ubuntu    20.04     ...            ...            ...

Nachdem das Image korrekt getaggt wurde, können Sie es in Ihr Docker Hub-Repository pushen. Hinweis: Sie müssen sich bei Docker Hub angemeldet haben, um Images zu pushen. Wenn Sie nicht angemeldet sind, wird der docker push-Befehl fehlschlagen. Für den Zweck dieses Labs demonstrieren wir den Befehl, aber Sie müssen das Image nicht erfolgreich pushen, es sei denn, Sie haben ein Docker Hub-Konto und sind angemeldet.

docker push your_docker_username/ubuntu:20.04

Wenn Sie angemeldet sind, werden Sie eine Ausgabe sehen, die angibt, dass die Layer in die Registry gepusht werden. Wenn Sie nicht angemeldet sind, erhalten Sie einen Authentifizierungsfehler.

The push refers to repository [docker.io/your_docker_username/ubuntu]
...

Dieser Befehl lädt das Image mit dem angegebenen Tag in Ihr Repository auf Docker Hub hoch.

Obwohl Sie nicht mit einem einzigen Befehl ein Repository "überwachen" und alle vorhandenen Images automatisch pushen können, können Sie dies erreichen, indem Sie die docker tag- und docker push-Befehle für die Images, die Sie pushen möchten, in ein Skript packen.

Zusammenfassung

In diesem Lab haben Sie den grundlegenden docker pull-Befehl gelernt, um Container-Images aus einer Registry herunterzuladen. Insbesondere haben Sie gezeigt, wie man ein bestimmtes Image wie hello-world herunterlädt und mithilfe von docker images seine Existenz verifiziert. Sie haben auch beobachtet, wie Docker nachfolgende Pull-Anfragen für dasselbe Image effizient behandelt und nur herunterlädt, wenn eine neuere Version verfügbar ist.