Comment utiliser la commande docker scout watch pour surveiller les images de conteneurs

DockerDockerBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à utiliser efficacement la commande docker scout watch pour surveiller les images de conteneurs. Vous explorerez différents scénarios, en commençant par la surveillance d'un dépôt spécifique pour les nouvelles images, puis en affinant votre surveillance en filtrant par étiquette (tag). Vous apprendrez également à étendre votre surveillance pour inclure tous les dépôts d'un registre et, enfin, à lancer une surveillance qui inclut toutes les images existantes dans un dépôt. Grâce à des exercices pratiques, vous acquerrez une expérience pratique dans la configuration et la gestion de la surveillance des images avec 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{{"Comment utiliser la commande docker scout watch pour surveiller les images de conteneurs"}} docker/tag -.-> lab-555218{{"Comment utiliser la commande docker scout watch pour surveiller les images de conteneurs"}} docker/push -.-> lab-555218{{"Comment utiliser la commande docker scout watch pour surveiller les images de conteneurs"}} docker/images -.-> lab-555218{{"Comment utiliser la commande docker scout watch pour surveiller les images de conteneurs"}} docker/search -.-> lab-555218{{"Comment utiliser la commande docker scout watch pour surveiller les images de conteneurs"}} end

Surveiller un dépôt spécifique pour les nouvelles images

Dans cette étape, vous apprendrez à surveiller un dépôt Docker spécifique pour les nouvelles images en utilisant la commande docker pull. Il s'agit d'une opération fondamentale dans Docker, qui vous permet de télécharger des images depuis un registre sur votre machine locale.

Tout d'abord, téléchargeons une image spécifique depuis le registre Docker Hub. Nous utiliserons l'image hello-world, qui est une très petite image utilisée pour tester les installations Docker.

docker pull hello-world

Vous devriez voir un affichage indiquant que l'image est en cours de téléchargement.

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

Cette commande demande à Docker de télécharger l'image hello-world avec l'étiquette (tag) latest depuis le registre par défaut (Docker Hub). Si l'image existe déjà localement, Docker vérifiera si une version plus récente est disponible et la téléchargera si nécessaire.

Ensuite, listons les images que vous avez sur votre machine locale pour confirmer que l'image hello-world a été téléchargée.

docker images

Vous devriez voir hello-world figurant dans la liste.

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

Cette commande affiche la liste de toutes les images Docker stockées sur votre machine locale, y compris leur dépôt, leur étiquette (tag), leur identifiant d'image, leur date de création et leur taille.

Maintenant, essayons de télécharger à nouveau la même image. Comme vous avez déjà la version latest de hello-world, Docker ne la téléchargera pas à nouveau.

docker pull hello-world

Le résultat indiquera que l'image est à jour.

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

Cela montre comment docker pull vérifie les versions plus récentes avant de télécharger.

Surveiller un dépôt spécifique et filtrer par étiquette (tag)

Dans cette étape, vous apprendrez à surveiller un dépôt Docker spécifique et à filtrer par étiquette (tag) lors du téléchargement d'images. Les images Docker ont souvent différentes versions ou variantes identifiées par des étiquettes (tags). Spécifier une étiquette vous permet de télécharger une version particulière d'une image.

Dans l'étape précédente, nous avons téléchargé l'image hello-world avec l'étiquette par défaut latest. Maintenant, téléchargeons une autre image, par exemple, l'image ubuntu, et spécifions une étiquette particulière. Nous allons télécharger l'étiquette 20.04, qui correspond à la version LTS Ubuntu 20.04.

docker pull ubuntu:20.04

Vous verrez un affichage indiquant la progression du téléchargement de l'étiquette d'image Ubuntu spécifiée.

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

Cette commande demande à Docker de télécharger spécifiquement l'image ubuntu avec l'étiquette 20.04. Si vous ne spécifiez pas d'étiquette, Docker utilise latest par défaut.

Maintenant, listons à nouveau vos images locales pour voir la nouvelle image ubuntu:20.04 téléchargée.

docker images

Vous devriez maintenant voir à la fois hello-world:latest et ubuntu:20.04 dans la liste.

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

Cela montre que vous avez téléchargé avec succès une version spécifique de l'image ubuntu en spécifiant son étiquette.

Vous pouvez également télécharger d'autres étiquettes de la même image. Par exemple, téléchargeons l'étiquette 18.04 de l'image ubuntu.

docker pull ubuntu:18.04

Encore une fois, vous verrez la progression du téléchargement.

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

En listant vos images une fois de plus, vous verrez les trois images que vous avez téléchargées.

docker images

Le résultat inclura maintenant ubuntu:18.04.

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

Cela montre comment vous pouvez utiliser les étiquettes pour gérer différentes versions de la même image sur votre machine locale.

Surveiller tous les dépôts dans un registre

Dans cette étape, vous apprendrez à lister les dépôts dans un registre Docker. Bien que docker pull soit utilisé pour les images individuelles, il n'existe pas de commande unique pour « surveiller » ou lister tous les dépôts dans un registre public comme Docker Hub directement depuis l'interface en ligne de commande (CLI) Docker en raison du grand nombre de dépôts. Cependant, vous pouvez rechercher des dépôts en fonction de mots-clés.

La commande docker search vous permet de rechercher des images dans le registre Docker Hub. Recherchons des images liées à « nginx ».

docker search nginx

Vous verrez une liste de dépôts qui correspondent au terme de recherche « nginx ».

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

Le résultat fournit des informations sur chaque dépôt correspondant, y compris son nom, sa description, le nombre d'étoiles et s'il s'agit d'une image officielle ou d'une construction automatisée.

Vous pouvez également filtrer les résultats de la recherche. Par exemple, pour voir uniquement les images officielles liées à « ubuntu », vous pouvez utiliser le paramètre --filter.

docker search --filter is-official=true ubuntu

Cette commande vous montrera uniquement les dépôts officiels d'Ubuntu.

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

Bien que docker search ne liste pas tous les dépôts, c'est le principal moyen de découvrir des images dans un registre en utilisant l'interface en ligne de commande Docker. Pour obtenir une liste complète des dépôts dans un grand registre public comme Docker Hub, vous devrez généralement utiliser l'API du registre ou une interface web.

Dans le cadre de ce laboratoire, comprendre comment rechercher et découvrir des images est essentiel pour trouver les dépôts que vous souhaitez « surveiller » ou à partir desquels vous souhaitez télécharger des images.

Surveiller un dépôt et pousser toutes les images existantes

Dans cette étape, vous apprendrez à étiqueter (tag) une image existante et à la pousser (push) vers un registre Docker. Pousser des images vous permet de partager vos images personnalisées ou des versions modifiées d'images existantes avec d'autres personnes ou de les stocker dans un emplacement distant.

Avant de pouvoir pousser une image, vous devez l'étiqueter avec l'adresse du registre, votre nom d'utilisateur et le nom du dépôt. Nous allons utiliser l'image ubuntu:20.04 que vous avez téléchargée à l'étape précédente. Etiquetons - la pour la pousser sur Docker Hub. Remplacez your_docker_username par votre véritable nom d'utilisateur Docker Hub.

docker tag ubuntu:20.04 your_docker_username/ubuntu:20.04

Cette commande crée une nouvelle étiquette pour l'image ubuntu:20.04. La nouvelle étiquette est your_docker_username/ubuntu:20.04. Le format est [registre]/[nom d'utilisateur]/[dépôt]:[étiquette]. Si vous poussez sur Docker Hub, vous pouvez omettre la partie du registre (docker.io/).

Maintenant, listez à nouveau vos images locales pour voir la nouvelle étiquette.

docker images

Vous devriez voir une entrée avec your_docker_username/ubuntu comme dépôt et 20.04 comme étiquette, partageant le même identifiant d'image que l'image originale ubuntu:20.04.

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

Maintenant que l'image est correctement étiquetée, vous pouvez la pousser vers votre dépôt Docker Hub. Remarque : Vous devrez être connecté à Docker Hub pour pousser des images. Si vous n'êtes pas connecté, la commande docker push échouera. Dans le cadre de ce laboratoire, nous allons démontrer la commande, mais vous n'avez pas besoin de pousser l'image avec succès à moins que vous n'ayez un compte Docker Hub et que vous soyez connecté.

docker push your_docker_username/ubuntu:20.04

Si vous êtes connecté, vous verrez un affichage indiquant les couches (layers) qui sont poussées vers le registre. Si vous n'êtes pas connecté, vous recevrez une erreur d'authentification.

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

Cette commande télécharge l'image avec l'étiquette spécifiée vers votre dépôt sur Docker Hub.

Bien que vous ne puissiez pas « surveiller » un dépôt et pousser automatiquement toutes les images existantes avec une seule commande, vous pouvez y parvenir en écrivant un script pour les commandes docker tag et docker push pour les images que vous souhaitez pousser.

Résumé

Dans ce laboratoire, vous avez appris la commande fondamentale docker pull pour télécharger des images de conteneurs depuis un registre. Plus précisément, vous avez vu comment télécharger une image spécifique comme hello-world et vérifier sa présence en utilisant docker images. Vous avez également observé comment Docker gère efficacement les demandes de téléchargement ultérieures de la même image, ne téléchargeant que si une version plus récente est disponible.