Comment utiliser la commande docker context export pour exporter 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 lab, vous apprendrez à utiliser la commande docker context export pour exporter un contexte Docker. Nous commencerons par créer un nouveau contexte Docker, ce qui vous permet de connecter votre CLI Docker à différents démons Docker.

Après la création d'un nouveau contexte, vous pratiquerez son export. Vous apprendrez comment exporter le contexte vers un fichier pour une utilisation ultérieure ou un partage, ainsi que comment l'exporter directement vers la sortie standard (STDOUT). Cette expérience pratique démontrera l'application concrète de la commande docker context export pour gérer et partager vos environnements Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") subgraph Lab Skills docker/ls -.-> lab-555130{{"Comment utiliser la commande docker context export pour exporter un contexte"}} docker/inspect -.-> lab-555130{{"Comment utiliser la commande docker context export pour exporter un contexte"}} docker/create -.-> lab-555130{{"Comment utiliser la commande docker context export pour exporter un contexte"}} end

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 connecter votre CLI Docker à un démon Docker différent. Cela peut être utile lorsque vous souhaitez gérer Docker sur une machine distante ou dans un environnement différent.

Par défaut, votre CLI Docker se connecte au démon Docker local. Nous pouvons voir le contexte actuel en utilisant la commande docker context ls.

docker context ls

Vous devriez voir une sortie similaire à ceci, indiquant que le contexte par défaut est actif :

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

Maintenant, créons un nouveau contexte. Nous allons créer un contexte nommé my-context. Pour cet exemple, nous le pointerons toujours vers le démon Docker local, mais dans un scénario réel, vous le pointeriez vers un démon distant.

Nous utilisons la commande docker context create suivie du nom du contexte et du endpoint.

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

Après avoir créé le contexte, vous devriez voir un message de confirmation :

my-context
Successfully created context "my-context"

Maintenant, listons à nouveau les contextes pour voir le nouveau créé.

docker context ls

Vous devriez maintenant voir à la fois default et my-context listés.

NAME                DESCRIPTION                               DOCKER ENDPOINT                  KUBERNETES ENDPOINT   ORCHESTRATOR
default *           Current DOCKER_HOST environment variable   unix:///var/run/docker.sock
my-context                                                    unix:///var/run/docker.sock

Pour basculer vers le nouveau contexte, nous utilisons la commande docker context use suivie du nom du contexte.

docker context use my-context

Vous verrez un message confirmant le changement de contexte :

my-context
Current context is now "my-context"

Enfin, listons une dernière fois les contextes pour confirmer que my-context est maintenant le contexte actif, indiqué par l'astérisque *.

docker context ls

La sortie devrait montrer my-context comme contexte actif :

NAME                DESCRIPTION                               DOCKER ENDPOINT                  KUBERNETES ENDPOINT   ORCHESTRATOR
default             Current DOCKER_HOST environment variable   unix:///var/run/docker.sock
my-context *                                                  unix:///var/run/docker.sock

Exporter le contexte Docker vers un fichier

Dans cette étape, nous allons apprendre à exporter un contexte Docker vers un fichier. L'exportation d'un contexte vous permet de sauvegarder sa configuration dans un fichier, qui peut ensuite être partagé ou importé sur une autre machine. Cela est particulièrement utile pour partager l'accès à des environnements Docker distants.

Nous allons exporter le contexte my-context que nous avons créé à l'étape précédente. Nous utilisons la commande docker context export, suivie du nom du contexte et du chemin du fichier de sortie souhaité. Nous l'exporterons vers un fichier nommé my-context.dockercontext dans le répertoire ~/project.

docker context export my-context > ~/project/my-context.dockercontext

Cette commande exportera la configuration de my-context vers le fichier spécifié. Aucun résultat ne s'affichera dans la console si la commande réussit.

Pour vérifier que le fichier a bien été créé, nous pouvons lister les fichiers du répertoire ~/project à l'aide de la commande ls.

ls ~/project/

Vous devriez voir my-context.dockercontext parmi les fichiers listés.

Nous pouvons également visualiser le contenu du fichier exporté à l'aide de la commande cat.

cat ~/project/my-context.dockercontext

Le résultat affichera la configuration de my-context au format JSON. Il contiendra des informations sur le contexte, telles que son nom et le endpoint Docker.

{
  "Name": "my-context",
  "Metadata": null,
  "Endpoints": {
    "docker": {
      "Host": "unix:///var/run/docker.sock",
      "SkipTLSVerify": false
    }
  },
  "TLSMaterial": null
}

Ce fichier exporté peut maintenant être utilisé pour importer ce contexte sur une autre machine à l'aide de la commande docker context import.

Exporter le contexte Docker vers STDOUT

Dans cette étape, nous allons apprendre à exporter un contexte Docker directement vers la sortie standard (STDOUT). Cette méthode est utile lorsque vous souhaitez visualiser rapidement la configuration du contexte ou la rediriger vers une autre commande sans l'enregistrer dans un fichier.

Nous allons à nouveau utiliser la commande docker context export avec le contexte my-context créé précédemment. Cette fois-ci, nous ne redirigerons pas la sortie vers un fichier.

docker context export my-context

L'exécution de cette commande affichera la représentation JSON de la configuration de my-context directement dans votre terminal.

{
  "Name": "my-context",
  "Metadata": null,
  "Endpoints": {
    "docker": {
      "Host": "unix:///var/run/docker.sock",
      "SkipTLSVerify": false
    }
  },
  "TLSMaterial": null
}

Cette sortie correspond au même contenu qui était enregistré dans le fichier my-context.dockercontext à l'étape précédente. L'exportation vers STDOUT est un moyen pratique d'inspecter la configuration du contexte à la volée.

Vous pouvez également rediriger cette sortie vers d'autres commandes pour un traitement ultérieur. Par exemple, vous pouvez la rediriger vers jq pour analyser le JSON ou vers grep pour rechercher des informations spécifiques.

Par exemple, pour trouver le endpoint Docker à partir du contexte exporté :

docker context export my-context | grep "unix:///var/run/docker.sock"

Cette commande exportera le contexte vers STDOUT puis utilisera grep pour trouver la ligne contenant "unix:///var/run/docker.sock". La sortie sera :

      "Host": "unix:///var/run/docker.sock",

Cela démontre comment vous pouvez facilement travailler avec la configuration du contexte directement depuis la ligne de commande sans créer de fichiers intermédiaires.

Résumé

Dans ce lab, nous avons appris à créer et gérer des contextes Docker. Nous avons commencé par comprendre ce qu'est un contexte Docker et comment lister les contextes existants à l'aide de docker context ls. Nous avons ensuite créé un nouveau contexte nommé my-context en utilisant docker context create, en démontrant comment spécifier le endpoint Docker. Enfin, nous avons pratiqué la commutation entre contextes avec docker context use.

Après la création et la commutation de contextes, nous avons exploré la commande docker context export. Nous avons appris à exporter un contexte Docker spécifique vers un fichier, permettant un partage ou une sauvegarde aisée des configurations de contexte. De plus, nous avons vu comment exporter la configuration du contexte directement vers la sortie standard, offrant une flexibilité pour le scripting ou une utilisation immédiate. Ces étapes ont fourni une compréhension complète de la gestion et de l'exportation des contextes Docker pour se connecter à différents démons Docker.