Comment utiliser la commande docker network disconnect pour déconnecter un conteneur d'un réseau

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 laboratoire (lab), vous apprendrez à gérer les connexions réseau des conteneurs à l'aide de la commande docker network disconnect. Nous commencerons par créer un réseau personnalisé et exécuter un conteneur connecté à celui-ci.

Ensuite, vous verrez comment connecter un conteneur existant à un réseau supplémentaire. Enfin, vous apprendrez à déconnecter le conteneur d'un réseau spécifique et à vérifier la déconnexion. Cette pratique pratiques vous offrira une expérience concrète dans le contrôle de la connectivité réseau des conteneurs.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker(("Docker")) -.-> docker/NetworkOperationsGroup(["Network Operations"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/NetworkOperationsGroup -.-> docker/network("Manage Networks") subgraph Lab Skills docker/run -.-> lab-555175{{"Comment utiliser la commande docker network disconnect pour déconnecter un conteneur d'un réseau"}} docker/inspect -.-> lab-555175{{"Comment utiliser la commande docker network disconnect pour déconnecter un conteneur d'un réseau"}} docker/create -.-> lab-555175{{"Comment utiliser la commande docker network disconnect pour déconnecter un conteneur d'un réseau"}} docker/pull -.-> lab-555175{{"Comment utiliser la commande docker network disconnect pour déconnecter un conteneur d'un réseau"}} docker/network -.-> lab-555175{{"Comment utiliser la commande docker network disconnect pour déconnecter un conteneur d'un réseau"}} end

Créer un réseau et un conteneur

Dans cette étape, nous apprendrons à créer un réseau Docker personnalisé et à exécuter un conteneur connecté à celui-ci. Par défaut, les conteneurs Docker sont connectés au réseau bridge, mais la création de réseaux personnalisés permet une meilleure isolation et un meilleur contrôle de la communication entre les conteneurs.

Tout d'abord, créons un nouveau réseau bridge nommé my-network.

docker network create my-network

Vous devriez voir l'ID du réseau nouvellement créé affiché dans la sortie.

Ensuite, nous allons télécharger l'image nginx depuis Docker Hub. Cette image sera utilisée pour créer notre conteneur.

docker pull nginx

Cette commande télécharge l'image nginx sur votre machine locale.

Maintenant, exécutons un conteneur Nginx et connectons-le au réseau my-network que nous venons de créer. Nous nommerons le conteneur my-nginx.

docker run -d --name my-nginx --network my-network nginx

Décortiquons cette commande :

  • docker run : Cette commande est utilisée pour exécuter un conteneur.
  • -d : Ce flag exécute le conteneur en mode détaché, c'est-à-dire qu'il s'exécute en arrière-plan.
  • --name my-nginx : Cela attribue le nom my-nginx au conteneur.
  • --network my-network : Cela connecte le conteneur au réseau my-network que nous avons créé.
  • nginx : C'est l'image à utiliser pour créer le conteneur.

Après avoir exécuté la commande, Docker démarrera le conteneur my-nginx et le connectera au réseau my-network.

Connecter le conteneur au réseau

Dans l'étape précédente, nous avons créé un réseau et exécuté un conteneur connecté à celui-ci. Dans cette étape, nous allons montrer comment connecter un conteneur déjà en cours d'exécution à un réseau supplémentaire. Cela est utile si vous avez besoin qu'un conteneur communique avec d'autres conteneurs sur un réseau différent.

Tout d'abord, créons un autre nouveau réseau bridge nommé another-network.

docker network create another-network

Vous devriez voir l'ID de ce nouveau réseau affiché dans la sortie.

Maintenant, nous allons connecter notre conteneur existant my-nginx à ce nouveau réseau another-network.

docker network connect another-network my-nginx

Cette commande connecte le conteneur spécifié (my-nginx) au réseau spécifié (another-network). Le conteneur aura maintenant des interfaces réseau sur my-network et another-network.

Pour vérifier que le conteneur est connecté aux deux réseaux, nous pouvons inspecter les paramètres réseau du conteneur.

docker inspect my-nginx

Recherchez la section "Networks" dans la sortie. Vous devriez voir des entrées pour my-network et another-network, indiquant que le conteneur est correctement connecté aux deux.

Déconnecter le conteneur du réseau

Dans l'étape précédente, nous avons connecté notre conteneur my-nginx à un réseau supplémentaire, another-network. Dans cette étape, nous allons apprendre à déconnecter un conteneur d'un réseau spécifique. Cela est utile lorsque vous n'avez plus besoin qu'un conteneur fasse partie d'un réseau particulier.

Pour déconnecter le conteneur my-nginx de another-network, nous utilisons la commande docker network disconnect.

docker network disconnect another-network my-nginx

Cette commande prend le nom du réseau (another-network) et le nom du conteneur (my-nginx) en arguments.

Après avoir exécuté cette commande, le conteneur sera supprimé du réseau spécifié. Il ne pourra plus communiquer avec les autres conteneurs sur another-network à moins qu'ils ne soient également sur un réseau partagé.

Pour confirmer que le conteneur a été déconnecté, nous pouvons à nouveau inspecter les paramètres réseau du conteneur.

docker inspect my-nginx

Regardez la section "Networks" dans la sortie. Vous devriez maintenant ne voir que my-network répertorié, et another-network devrait être absent. Cela confirme que le conteneur a été correctement déconnecté de another-network.

Vérifier que le conteneur est déconnecté

Dans l'étape précédente, nous avons déconnecté le conteneur my-nginx du réseau another-network. Dans cette étape, nous effectuerons une vérification finale pour nous assurer que le conteneur n'est effectivement plus connecté à another-network.

Nous pouvons à nouveau utiliser la commande docker inspect pour examiner la configuration réseau du conteneur my-nginx.

docker inspect my-nginx

Examinez la sortie de cette commande. Plus précisément, recherchez la section "Networks". Vous devriez seulement voir my-network répertorié sous "Networks". L'absence de another-network dans cette liste confirme que le conteneur a été correctement déconnecté de ce réseau.

Cette étape sert de confirmation de l'action précédente et renforce la manière de vérifier l'état réseau d'un conteneur Docker.

Résumé

Dans ce laboratoire (lab), nous avons appris à gérer les connexions réseau des conteneurs Docker. Nous avons commencé par créer un réseau pont personnalisé (custom bridge network) et lancé un conteneur directement connecté à ce réseau en utilisant la commande docker run --network. Cela a démontré la connexion initiale d'un conteneur à un réseau spécifique lors de sa création.

Ensuite, nous avons exploré comment connecter un conteneur déjà en cours d'exécution à un réseau supplémentaire en utilisant la commande docker network connect. Enfin, nous avons appris à déconnecter un conteneur d'un réseau en utilisant la commande docker network disconnect et avons vérifié la déconnexion, illustrant la flexibilité de gestion des appartenances réseau des conteneurs après leur création.