Comment utiliser la commande docker context import pour importer un contexte

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 (LabEx), vous apprendrez à utiliser efficacement la commande docker context import. Nous commencerons par créer et exporter un contexte Docker vers un fichier, en démontrant comment empaqueter vos configurations de contexte.

Après l'exportation, vous pratiquerez l'importation de ce contexte dans Docker, à la fois depuis le fichier exporté et directement depuis l'entrée standard (stdin). Enfin, vous vérifierez que le contexte importé est correctement reconnu et disponible pour utilisation dans votre environnement Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") subgraph Lab Skills docker/ls -.-> lab-555131{{"Comment utiliser la commande docker context import pour importer un contexte"}} docker/ps -.-> lab-555131{{"Comment utiliser la commande docker context import pour importer un contexte"}} docker/rm -.-> lab-555131{{"Comment utiliser la commande docker context import pour importer un contexte"}} docker/create -.-> lab-555131{{"Comment utiliser la commande docker context import pour importer un contexte"}} end

Créer et exporter un contexte Docker

Dans cette étape, nous allons apprendre à créer un contexte Docker et à l'exporter vers un fichier. Un contexte Docker est un moyen de gérer les connexions à différents démons Docker. Par défaut, Docker se connecte au démon local. Cependant, vous pouvez créer des contextes pour vous connecter à des démons distants ou à d'autres environnements comme Docker Swarm ou Kubernetes.

Commencez par créer un nouveau contexte Docker nommé my-context. Nous configurerons ce contexte pour qu'il se connecte au démon Docker local par défaut.

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

Cette commande crée un nouveau contexte nommé my-context et spécifie que l'hôte Docker est le socket Unix par défaut pour le démon local.

Ensuite, nous allons exporter ce contexte nouvellement créé vers un fichier nommé my-context.tar.gz.

docker context export my-context -o ~/project/my-context.tar.gz

Cette commande exporte le contexte my-context vers un fichier tar.gz situé dans votre répertoire ~/project. Le flag -o spécifie le chemin du fichier de sortie.

Vous pouvez vérifier que le fichier a bien été créé en listant le contenu du répertoire ~/project.

ls ~/project/

Vous devriez voir my-context.tar.gz dans la sortie de la commande.

Importer un contexte exporté depuis un fichier

Dans l'étape précédente, nous avons exporté un contexte Docker vers un fichier nommé my-context.tar.gz. Dans cette étape, nous allons réimporter ce contexte dans Docker à partir du fichier.

Avant l'importation, supprimons d'abord le contexte my-context existant pour simuler l'importation d'un contexte qui n'existe pas actuellement.

docker context rm my-context

Cette commande supprime le contexte Docker nommé my-context. Vous pouvez vérifier sa suppression en listant à nouveau les contextes.

docker context ls

Vous ne devriez plus voir my-context dans la liste.

Maintenant, importons le contexte depuis le fichier ~/project/my-context.tar.gz.

docker context import my-context-from-file ~/project/my-context.tar.gz

Cette commande importe le contexte depuis le fichier spécifié et nomme le contexte importé my-context-from-file.

Une fois l'importation terminée, vous pouvez lister à nouveau les contextes Docker pour voir le nouveau contexte importé.

docker context ls

Vous devriez maintenant voir my-context-from-file dans la liste des contextes.

Importer un contexte exporté depuis stdin

Dans l'étape précédente, nous avons importé un contexte Docker depuis un fichier. Une autre méthode consiste à importer un contexte en redirigeant les données exportées directement vers la commande docker context import via l'entrée standard (stdin). Cette approche est utile lorsque vous souhaitez importer un contexte sans l'enregistrer au préalable dans un fichier.

Commençons par supprimer le contexte importé précédemment pour éviter tout conflit.

docker context rm my-context-from-file

Nous allons maintenant utiliser la commande cat pour lire le contenu du fichier my-context.tar.gz et le rediriger vers la commande docker context import.

cat ~/project/my-context.tar.gz | docker context import my-context-from-stdin -

Dans cette commande :

  • cat ~/project/my-context.tar.gz lit le contenu du fichier
  • Le symbole | redirige la sortie de la commande cat vers l'entrée de la commande docker context import
  • Le - à la fin indique à la commande d'importer les données depuis l'entrée standard
  • Nous nommons le contexte importé my-context-from-stdin

Une fois la commande exécutée, vous pouvez lister les contextes Docker pour vérifier l'importation depuis stdin.

docker context ls

Vous devriez maintenant voir my-context-from-stdin dans la liste des contextes.

Vérifier le contexte importé

Dans les étapes précédentes, nous avons créé, exporté puis importé un contexte Docker en utilisant deux méthodes différentes : depuis un fichier et depuis l'entrée standard. Dans cette dernière étape, nous allons vérifier que le contexte importé est fonctionnel et peut être utilisé pour interagir avec le démon Docker.

Commençons par lister les contextes disponibles pour confirmer la présence de my-context-from-file et my-context-from-stdin.

docker context ls

Vous devriez voir les deux contextes dans la liste.

Passons maintenant au contexte importé depuis l'entrée standard, my-context-from-stdin.

docker context use my-context-from-stdin

Cette commande définit le contexte Docker courant comme étant my-context-from-stdin. Toutes les commandes Docker ultérieures utiliseront ce contexte pour se connecter au démon Docker.

Pour vérifier que le contexte fonctionne correctement, exécutons une commande Docker simple comme lister les conteneurs en cours d'exécution. Comme nous nous connectons au démon Docker local, cette commande devrait afficher le même résultat que docker ps sans spécifier de contexte.

docker ps

Si le contexte est correctement configuré, cette commande devrait s'exécuter avec succès et afficher la liste des conteneurs en cours d'exécution (le cas échéant).

Enfin, revenons au contexte par défaut.

docker context use default

Cette commande rétablit le contexte Docker courant comme étant le démon local par défaut.

Résumé

Dans ce lab, nous avons appris à gérer les contextes Docker en les créant, exportant et important. Nous avons commencé par créer un nouveau contexte Docker nommé my-context configuré pour se connecter au démon local, puis nous avons exporté ce contexte dans un fichier tar.gz.

Après l'exportation, nous avons pratiqué l'importation du contexte dans Docker. Nous avons d'abord supprimé le contexte original pour simuler l'importation d'un nouveau contexte, puis nous avons importé avec succès le contexte depuis le fichier précédemment créé en utilisant la commande docker context import, en lui donnant un nouveau nom pour le distinguer.