Introduction
Dans ce lab, vous apprendrez à gérer les contextes Docker, en vous concentrant particulièrement sur leur suppression. Vous commencerez par créer un nouveau contexte Docker pour comprendre le processus d'ajout de contextes. Ensuite, vous apprendrez à lister les contextes existants pour visualiser les configurations disponibles et identifier le contexte actif. Le cœur du lab consistera à utiliser la commande docker context rm pour supprimer un contexte spécifique. Enfin, vous explorerez le comportement lors d'une tentative de suppression du contexte actif sans forcer, puis réussirez à le supprimer en utilisant l'option de forçage.
Créer un nouveau contexte Docker
Dans cette étape, nous allons apprendre à créer un nouveau contexte Docker. Un contexte Docker est un moyen de gérer les connexions à différents démons Docker. Par défaut, Docker utilise le contexte default, qui se connecte au démon Docker local. Vous pouvez créer de nouveaux contextes pour vous connecter à des démons Docker distants ou à d'autres outils d'orchestration.
Pour créer un nouveau contexte Docker, nous utilisons la commande docker context create. La syntaxe de base est docker context create <nom_contexte>. Créons un nouveau contexte nommé my-context.
docker context create my-context
Après avoir exécuté la commande, vous devriez voir une sortie indiquant que le contexte a été créé avec succès.
my-context
Successfully created context "my-context"
Cette commande crée un nouveau fichier de configuration de contexte dans votre répertoire de configuration Docker. Ce contexte pointe actuellement vers le même démon Docker local que le contexte default. Dans les étapes suivantes, nous verrons comment configurer des contextes pour se connecter à différents environnements Docker.
Lister les contextes Docker existants
Dans cette étape, nous allons apprendre à lister les contextes Docker existants. Cela est utile pour voir quels contextes sont disponibles et lequel est actuellement actif.
Pour lister les contextes Docker, nous utilisons la commande docker context ls.
docker context ls
Après avoir exécuté la commande, vous devriez voir un tableau listant les contextes disponibles. La sortie inclura le nom du contexte, sa description, son endpoint et s'il s'agit du contexte courant. Vous devriez voir le contexte default et le my-context que nous avons créé à l'étape précédente. L'astérisque * à côté d'un nom de contexte indique qu'il s'agit du contexte actuellement actif.
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default * Current DOCKER_HOST environment unix:///var/run/docker.sock
my-context Docker context "my-context" unix:///var/run/docker.sock
Cette commande vous aide à garder une trace des différents environnements Docker auxquels vous pouvez vous connecter.
Supprimer un contexte Docker spécifique
Dans cette étape, nous allons apprendre à supprimer un contexte Docker spécifique. Cette opération est utile pour nettoyer les contextes qui ne sont plus nécessaires.
Pour supprimer un contexte Docker, nous utilisons la commande docker context rm suivie du nom du contexte à supprimer. Supprimons le contexte my-context que nous avons créé précédemment.
docker context rm my-context
Après exécution de la commande, vous devriez voir une confirmation de suppression du contexte.
my-context
Maintenant, listons à nouveau les contextes pour vérifier que my-context a bien été supprimé.
docker context ls
Le résultat ne devrait maintenant afficher que le contexte default.
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default * Current DOCKER_HOST environment unix:///var/run/docker.sock
Ceci démontre comment supprimer un contexte Docker spécifique.
Tentative de suppression du contexte Docker actuel sans forcer
Dans cette étape, nous allons essayer de supprimer le contexte Docker actuellement actif sans utiliser l'option de forçage. Cela permettra de démontrer le comportement de Docker lorsqu'on tente de supprimer un contexte en cours d'utilisation.
Tout d'abord, vérifions le contexte actuel.
docker context ls
Vous devriez voir que le contexte default est marqué d'un astérisque (*), indiquant qu'il s'agit du contexte actif.
Maintenant, essayons de supprimer le contexte default en utilisant la commande docker context rm.
docker context rm default
Vous devriez voir un message d'erreur similaire à ceci :
Error: context "default" is currently in use
Cette erreur se produit car Docker empêche la suppression du contexte actuellement actif pour éviter d'interrompre vos opérations Docker en cours. Pour supprimer le contexte actif, vous devrez utiliser l'option de forçage, que nous aborderons dans l'étape suivante.
Suppression forcée du contexte Docker actuel
Dans cette étape, nous allons apprendre à forcer la suppression du contexte Docker actuellement actif. Comme nous l'avons vu précédemment, il est impossible de supprimer le contexte actif sans utiliser l'option de forçage.
Pour forcer la suppression du contexte Docker actif, nous utilisons la commande docker context rm avec l'option -f ou --force, suivie du nom du contexte. Forçons la suppression du contexte default.
docker context rm -f default
Après exécution de la commande, vous devriez voir une confirmation de suppression du contexte.
default
Listons à nouveau les contextes pour vérifier que le contexte default a bien été supprimé.
docker context ls
Vous verrez probablement un message indiquant qu'aucun contexte n'est disponible, ou que Docker est passé à un autre contexte par défaut s'il en existe un. Dans cet environnement, la suppression du contexte default entraînera une erreur lors du listing ultérieur des contextes, car aucun contexte actif n'existera.
Error: No contexts available. Create a context, or use --help for more information.
Ceci démontre comment forcer la suppression du contexte Docker actif.
Résumé
Dans ce lab, nous avons appris à gérer les contextes Docker. Nous avons commencé par créer un nouveau contexte nommé my-context à l'aide de la commande docker context create, qui permet de définir des connexions à différents démons Docker. Nous avons ensuite utilisé la commande docker context ls pour lister les contextes disponibles, observant ainsi le nouveau contexte my-context aux côtés du contexte par défaut et identifiant le contexte actuellement actif marqué d'un astérisque.
Le lab poursuit en démontrant comment supprimer un contexte Docker spécifique avec docker context rm. Nous explorerons également le comportement lors d'une tentative de suppression du contexte actif sans l'option de forçage, et apprendrons finalement comment forcer la suppression du contexte Docker actuel.



