Comment utiliser la commande docker context show pour afficher le contexte actuel

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 lab, vous apprendrez à utiliser la commande docker context show pour afficher le contexte Docker actuellement actif. Vous commencerez par afficher le contexte par défaut, qui se connecte au démon Docker local.

Ensuite, vous créerez un nouveau contexte Docker, basculerez vers ce nouveau contexte et vérifierez le changement à l'aide de docker context show. Enfin, vous reviendrez au contexte par défaut et explorerez comment intégrer la commande docker context show dans votre invite de shell pour une visibilité facile de votre connexion Docker actuelle.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/SystemManagementGroup -.-> docker/info("Display System-Wide Information") docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/ls -.-> lab-555135{{"Comment utiliser la commande docker context show pour afficher le contexte actuel"}} docker/create -.-> lab-555135{{"Comment utiliser la commande docker context show pour afficher le contexte actuel"}} docker/info -.-> lab-555135{{"Comment utiliser la commande docker context show pour afficher le contexte actuel"}} docker/system -.-> lab-555135{{"Comment utiliser la commande docker context show pour afficher le contexte actuel"}} end

Afficher le contexte Docker par défaut

Dans cette étape, nous allons apprendre à afficher le contexte Docker par défaut. Un contexte Docker est un moyen de se connecter à différents démons Docker. Par défaut, Docker utilise le contexte default, qui se connecte au démon Docker exécuté sur la machine locale.

Pour afficher le contexte Docker actuel, nous pouvons utiliser la commande docker context show.

docker context show

Vous devriez voir default comme résultat, ce qui indique que vous utilisez actuellement le contexte Docker par défaut.

Créer un nouveau contexte Docker

Dans cette étape, nous allons créer un nouveau contexte Docker. La création d'un nouveau contexte vous permet de définir les paramètres de connexion pour un démon Docker différent, qui pourrait se trouver sur une machine distante ou une configuration locale différente.

Nous allons créer un contexte nommé my-context qui se connecte au démon Docker local. Bien que cela puisse sembler redondant pour une connexion locale, cela démontre le processus de création d'un contexte.

Pour créer un nouveau contexte, nous utilisons la commande docker context create suivie du nom du contexte. Nous devons également spécifier le point de terminaison pour le démon Docker en utilisant le flag --docker. Pour un démon local, le point de terminaison est généralement unix:///var/run/docker.sock.

docker context create my-context --docker "unix:///var/run/docker.sock"

Après avoir exécuté la commande, vous devriez voir une sortie indiquant que le contexte my-context a été créé.

Pour vérifier que le contexte a bien été créé, vous pouvez lister tous les contextes disponibles en utilisant la commande docker context ls.

docker context ls

Vous devriez voir my-context listé dans la sortie, ainsi que le contexte default.

Basculer vers le nouveau contexte Docker et l'afficher

Dans cette étape, nous allons basculer vers le nouveau contexte Docker créé précédemment, puis afficher le contexte actif pour confirmer le changement.

Pour passer à un autre contexte Docker, nous utilisons la commande docker context use suivie du nom du contexte souhaité. Dans notre cas, le contexte s'appelle my-context.

docker context use my-context

Vous devriez voir une confirmation indiquant que le contexte a bien été basculé vers my-context.

Maintenant, affichons à nouveau le contexte Docker actif à l'aide de la commande docker context show pour vérifier que nous utilisons bien my-context.

docker context show

Le résultat de cette commande devrait maintenant être my-context, confirmant que le basculement a réussi.

Revenir au contexte par défaut et l'afficher

Dans cette étape, nous allons revenir au contexte Docker par défaut. Cette opération est utile lorsque vous avez travaillé avec un contexte différent et souhaitez revenir au démon Docker local standard.

Pour revenir au contexte par défaut, nous utilisons la commande docker context use suivie du nom du contexte par défaut, qui est default.

docker context use default

Vous devriez voir une confirmation indiquant que le contexte est bien revenu à default.

Maintenant, affichons à nouveau le contexte Docker actif à l'aide de la commande docker context show pour vérifier que nous utilisons bien à nouveau le contexte default.

docker context show

Le résultat de cette commande devrait maintenant être default, confirmant que le retour au contexte par défaut a réussi.

Intégrer docker context show dans votre invite de commande

Dans cette étape, nous allons intégrer la commande docker context show à votre invite de commande (shell prompt). Cela vous permettra de voir le contexte Docker actuel directement dans votre terminal, facilitant ainsi le suivi du démon Docker avec lequel vous interagissez.

Nous allons modifier le fichier .zshrc dans votre répertoire personnel, qui est le fichier de configuration du shell Zsh. Nous ajouterons une fonction qui récupère le contexte Docker actuel, puis nous inclurons le résultat de cette fonction dans la chaîne de l'invite.

Commencez par ouvrir le fichier .zshrc avec l'éditeur nano :

nano ~/.zshrc

Faites défiler jusqu'à la fin du fichier et ajoutez les lignes suivantes :

## Function to get current Docker context
get_docker_context() {
  docker context show 2> /dev/null
}

## Add Docker context to prompt
PROMPT='$(get_docker_context) %~ %## '

Décryptons ces lignes :

  • get_docker_context() : Définit une nouvelle fonction shell nommée get_docker_context.
  • docker context show 2>/dev/null : À l'intérieur de la fonction, cette commande récupère le contexte Docker actuel. 2>/dev/null redirige les erreurs vers /dev/null, évitant ainsi d'encombrer l'invite si Docker ne fonctionne pas ou en cas de problème.
  • PROMPT='$(get_docker_context) %~ %## ' : Définit la variable d'environnement PROMPT qui contrôle l'apparence de votre invite.
    • $(get_docker_context) : Exécute la fonction et inclut son résultat dans l'invite.
    • %~ : Affiche le répertoire courant, avec le répertoire personnel abrégé en ~.
    • %# : Affiche # si vous êtes root ou % pour un utilisateur standard.

Enregistrez le fichier avec Ctrl + X, puis Y, et enfin Entrée.

Pour appliquer les modifications à votre session terminal actuelle, exécutez :

source ~/.zshrc

Après avoir sourcé le fichier, votre invite devrait maintenant afficher le contexte Docker actuel (normalement default) avant le répertoire courant.

Testez en basculant vers my-context :

docker context use my-context

L'invite devrait se mettre à jour pour afficher my-context.

Puis revenez au contexte par défaut :

docker context use default

L'invite devrait de nouveau afficher default.

Résumé

Dans ce lab, nous avons appris à gérer les contextes Docker à l'aide de la commande docker context show. Nous avons commencé par afficher le contexte Docker par défaut, qui se connecte au démon local. Nous avons ensuite créé un nouveau contexte nommé my-context, illustrant le processus de définition des paramètres de connexion pour un démon différent, même s'il s'agissait du même démon local dans cet exemple.

Après la création, nous avons pratiqué le basculement vers le nouveau contexte avec docker context use et vérifié le contexte actif avec docker context show. Cette expérience pratique a consolidé notre compréhension de la navigation entre différents environnements Docker et de la confirmation du point de connexion actuel.