Comment utiliser la commande docker context ls pour lister les contextes

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 labo, vous apprendrez à utiliser efficacement la commande docker context ls pour gérer et visualiser vos contextes Docker. Les contextes Docker sont essentiels pour basculer facilement entre différents démons Docker, qu'ils soient locaux, distants ou basés sur le cloud.

À travers des étapes pratiques, vous explorerez comment lister tous les contextes disponibles avec des informations détaillées, filtrer la sortie pour afficher uniquement les noms de contextes, et formater la sortie de différentes manières, notamment en JSON et en utilisant des modèles personnalisés. Cela vous dotera des compétences nécessaires pour identifier rapidement et comprendre vos environnements Docker configurés.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") subgraph Lab Skills docker/ls -.-> lab-555133{{"Comment utiliser la commande docker context ls pour lister les contextes"}} end

Lister tous les contextes Docker

Dans cette étape, vous apprendrez comment lister tous les contextes Docker disponibles en utilisant la commande docker context ls. Les contextes Docker vous permettent de basculer facilement entre différents démons Docker, qu'ils s'exécutent localement, sur une machine distante ou dans un environnement cloud.

Pour lister tous les contextes Docker, ouvrez votre terminal et exécutez la commande suivante :

docker context ls

Cette commande affichera un tableau présentant des informations sur chaque contexte Docker, incluant son nom, sa description, son endpoint et s'il s'agit du contexte actuel.

Vous devriez voir une sortie similaire à ceci :

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

Le contexte default est celui qui est automatiquement créé lors de l'installation de Docker et pointe vers le démon Docker local.

Lister uniquement les noms des contextes Docker

Dans l'étape précédente, vous avez listé tous les contextes Docker avec des informations détaillées. Parfois, vous pourriez avoir besoin de voir uniquement les noms des contextes. Vous pouvez y parvenir en utilisant le flag --format avec la commande docker context ls.

Le flag --format vous permet de spécifier le format de sortie en utilisant le package text/template de Go. Pour lister uniquement les noms, vous pouvez utiliser le template {{.Name}}.

Exécutez la commande suivante dans votre terminal :

docker context ls --format "{{.Name}}"

Cette commande affichera uniquement les noms des contextes Docker, un nom par ligne.

Vous devriez voir une sortie similaire à ceci :

default

Ceci est utile lorsque vous souhaitez rapidement visualiser les noms des contextes disponibles, par exemple pour des scripts ou un traitement ultérieur.

Formater la liste des contextes Docker en JSON

En plus de lister les noms ou d'utiliser le format tabulaire par défaut, vous pouvez également formater la sortie de docker context ls en JSON. Ceci est particulièrement utile lorsque vous avez besoin de traiter les informations des contextes de manière programmatique.

Pour formater la sortie en JSON, utilisez le flag --format avec la valeur json.

Exécutez la commande suivante dans votre terminal :

docker context ls --format json

Cette commande produira un tableau JSON, où chaque élément du tableau représente un contexte Docker.

Vous devriez voir une sortie similaire à ceci :

[
  {
    "Name": "default",
    "Current": true,
    "Endpoint": "unix:///var/run/docker.sock",
    "Description": "Current DOCKER_HOST environment",
    "DockerEndpoint": "unix:///var/run/docker.sock",
    "KubernetesEndpoint": "",
    "Orchestrator": "swarm"
  }
]

La sortie JSON fournit une manière structurée d'accéder à tous les détails de chaque contexte Docker.

Formater la liste des contextes Docker avec un modèle personnalisé

Dans les étapes précédentes, vous avez vu comment lister tous les contextes, uniquement leurs noms, et formater la sortie en JSON. Le flag --format est très puissant et vous permet de définir des modèles de sortie personnalisés en utilisant la syntaxe text/template de Go.

Vous pouvez spécifier quels champs afficher et comment les formater. Par exemple, listons le nom du contexte et sa description dans un format personnalisé. Les champs disponibles que vous pouvez utiliser dans le modèle sont Name, Description, DockerEndpoint, KubernetesEndpoint et Orchestrator.

Exécutez la commande suivante dans votre terminal :

docker context ls --format "Context Name: {{.Name}}, Description: {{.Description}}"

Cette commande utilise un modèle personnalisé pour afficher le nom et la description de chaque contexte.

Vous devriez voir une sortie similaire à ceci :

Context Name: default, Description: Current DOCKER_HOST environment

Vous pouvez créer des modèles plus complexes pour inclure d'autres champs ou formater la sortie différemment selon vos besoins. Cette flexibilité est très utile pour le scripting et l'intégration des informations de contexte Docker dans d'autres outils.

Résumé

Dans ce lab, vous avez appris à utiliser la commande docker context ls pour lister les contextes Docker. Vous avez commencé par lister tous les contextes disponibles avec des informations détaillées, incluant leur nom, description, endpoint et orchestrateur. Vous avez ensuite exploré comment lister uniquement les noms des contextes en utilisant le flag --format "{{.Name}}", ce qui est utile pour une référence rapide ou du scripting. Enfin, vous avez appris à formater la sortie en JSON avec le flag --format json, fournissant une sortie structurée adaptée à une utilisation programmatique.