Comment utiliser la commande docker scout environment pour gérer les environnements

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 la commande docker scout environment pour gérer différents environnements Docker. Vous commencerez par lister les environnements existants pour comprendre les contextes disponibles sur votre système.

Ensuite, vous explorerez comment lister les images Docker associées à un environnement spécifique, vous permettant de voir les images disponibles dans ce contexte. Enfin, vous apprendrez à enregistrer une image spécifique dans un environnement pour une plateforme particulière, démontrant ainsi comment associer des images à différents environnements pour une meilleure organisation et gestion.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/ImageOperationsGroup -.-> docker/images("List Images") subgraph Lab Skills docker/ls -.-> lab-555204{{"Comment utiliser la commande docker scout environment pour gérer les environnements"}} docker/pull -.-> lab-555204{{"Comment utiliser la commande docker scout environment pour gérer les environnements"}} docker/images -.-> lab-555204{{"Comment utiliser la commande docker scout environment pour gérer les environnements"}} end

Lister les environnements existants

Dans cette étape, nous apprendrons à lister les environnements Docker existants sur votre système. Les environnements Docker vous permettent de gérer différentes installations ou contextes Docker. Par défaut, vous aurez un environnement default.

Pour lister les environnements Docker existants, vous pouvez utiliser la commande docker context ls. Cette commande affiche une table avec des informations sur chaque environnement, y compris son nom, sa description, le point de terminaison Docker et s'il s'agit de l'environnement actif.

Exécutons la commande pour voir les environnements disponibles. Ouvrez votre terminal dans le répertoire ~/project.

docker context ls

Vous devriez voir une sortie similaire à celle-ci :

NAME        DESCRIPTION                               DOCKER ENDPOINT                  KUBERNETES ENDPOINT   ORCHESTRATOR
default *   Current DOCKER_HOST environment           unix:///var/run/docker.sock      n/a                   swarm

Dans cette sortie, NAME est le nom de l'environnement, DESCRIPTION fournit une brève description, DOCKER ENDPOINT indique le point de terminaison utilisé par Docker (dans ce cas, le socket Unix par défaut), KUBERNETES ENDPOINT est pour l'intégration avec Kubernetes (n/a ici) et ORCHESTRATOR indique l'orchestrateur utilisé (swarm dans ce cas). L'astérisque (*) à côté de default indique que c'est l'environnement actuellement actif.

Comprendre comment lister les environnements est la première étape pour gérer différents contextes Docker, ce qui peut être utile lorsque vous travaillez avec des démons Docker distants ou des fournisseurs de services cloud.

Lister les images associées à un environnement spécifique

Dans cette étape, nous apprendrons à lister les images Docker disponibles dans un environnement spécifique. Les images Docker sont les éléments de base des conteneurs, contenant le code de l'application, les bibliothèques et les dépendances.

Pour lister les images dans l'environnement actuellement actif (qui est default comme nous l'avons vu dans l'étape précédente), vous pouvez utiliser la commande docker images. Cette commande affiche une liste d'images avec leur référentiel, leur étiquette (tag), leur identifiant d'image, leur date de création et leur taille.

Avant de lister les images, téléchargeons une image d'exemple afin d'avoir quelque chose à voir dans la liste. Nous allons télécharger 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 une sortie 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

Maintenant que nous avons une image, listons les images dans l'environnement default en utilisant la commande docker images.

docker images

Vous devriez voir une sortie similaire à celle-ci, y compris l'image hello-world que vous venez de télécharger :

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

La sortie montre l'image hello-world avec l'étiquette latest, son identifiant unique IMAGE ID, sa date de création (CREATED) et sa taille (SIZE).

Lister les images est une opération fondamentale dans Docker, vous permettant de voir quelles images sont disponibles localement pour créer des conteneurs.

Enregistrer une image dans un environnement pour une plateforme spécifique

Dans cette étape, nous allons explorer comment Docker gère les images pour différentes plateformes et comment vous pouvez interagir avec elles. Bien que l'idée de « d'enregistrer » explicitement une image dans un environnement pour une plateforme spécifique ne corresponde pas à une commande Docker standard dans le sens où vous pourriez l'entendre. Les images Docker sont souvent multi-architecture, ce qui signifie qu'une seule étiquette d'image peut contenir des variantes pour différentes architectures de processeur (comme amd64, arm64, etc.). Lorsque vous téléchargez une image, Docker sélectionne automatiquement la variante appropriée pour l'architecture de votre système.

Le concept de « d'enregistrer » une image dans un environnement pour une plateforme spécifique consiste plutôt à s'assurer que la bonne variante d'image est disponible ou utilisée. Bien que vous n'enregistriez pas explicitement l'image, vous pouvez télécharger des images en spécifiant une plateforme cible.

Démontrons le téléchargement d'une image pour une plateforme spécifique. Nous allons télécharger l'image alpine, qui est une distribution Linux légère, et spécifier la plateforme arm64. Même si notre machine virtuelle LabEx est probablement de type amd64, Docker peut toujours télécharger et stocker des images pour d'autres architectures.

Tout d'abord, téléchargeons l'image alpine sans spécifier de plateforme pour voir le comportement par défaut.

docker pull alpine

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

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

Maintenant, listons à nouveau les images pour voir l'image alpine.

docker images

Vous verrez alpine dans la liste.

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    ...            ... ago      ...kB
alpine        latest    ...            ... ago      ...MB

Maintenant, essayons de télécharger l'image alpine spécifiquement pour la plateforme arm64 en utilisant le paramètre --platform.

docker pull --platform arm64 alpine

Vous verrez une sortie indiquant que la variante arm64 est en cours de téléchargement.

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

Même si la sortie peut sembler similaire, Docker a téléchargé la variante arm64. Si vous utilisiez une machine arm64, cette variante serait la version par défaut. Sur une machine amd64, vous avez maintenant stocké localement à la fois les variantes amd64 (téléchargement par défaut) et arm64 de l'image alpine:latest.

Bien que docker images n'affiche pas explicitement la plateforme de chaque variante d'image listée par défaut, Docker les gère en interne. Lorsque vous exécutez un conteneur, Docker utilisera la variante d'image appropriée pour l'architecture de l'hôte.

Cette étape démontre comment Docker gère les images multi-architecture et comment vous pouvez télécharger explicitement une image pour une plateforme différente en utilisant le paramètre --platform.

Résumé

Dans ce laboratoire, nous avons appris à gérer les environnements Docker en utilisant la commande docker scout environment. Nous avons commencé par lister les environnements Docker existants sur notre système en utilisant docker context ls, qui nous a montré l'environnement par défaut et ses détails.

Ensuite, nous avons exploré comment lister les images Docker associées à un environnement spécifique en utilisant la commande docker images. Enfin, nous avons appris comment enregistrer une image dans un environnement pour une plateforme spécifique, bien que les étapes détaillées pour cela n'aient pas été entièrement fournies dans le contenu fourni.