CodeGym /Cours /Docker SELF /Création et gestion des réseaux

Création et gestion des réseaux

Docker SELF
Niveau 17 , Leçon 1
Disponible

2.1 Commandes de base docker network

Les réseaux dans Docker permettent aux conteneurs d'interagir entre eux et avec des réseaux externes. Les commandes docker network offrent des fonctionnalités flexibles pour la création, la configuration et la gestion des réseaux, assurant l'isolation et le contrôle des interactions réseau des conteneurs. Dans cette conférence, on va examiner en détail les commandes docker network et comment les utiliser pour gérer les réseaux.

Commandes principales docker network :

  1. docker network create
  2. docker network ls
  3. docker network inspect
  4. docker network connect
  5. docker network disconnect
  6. docker network rm

Créer un réseau : commande docker network create

La commande docker network create est utilisée pour créer de nouveaux réseaux. Tu peux créer des réseaux avec différents drivers comme bridge, host, overlay et macvlan.

Exemple de création de réseau avec le driver bridge

Terminal


docker network create --driver bridge my_bridge_network 

Exemple de création de réseau avec le driver overlay

Terminal


docker network create --driver overlay my_overlay_network 

Exemple de création de réseau avec le driver macvlan

Terminal

docker network create --driver macvlan \
  --subnet=192.168.1.0/24   \
  --gateway=192.168.1.1 \
  -o parent=eth0 my_macvlan_network

2.2 Commandes pour travailler avec les réseaux

1. Afficher les réseaux disponibles : commande docker network ls

La commande docker network ls affiche la liste de tous les réseaux créés dans Docker.

Terminal


docker network ls 

La sortie de la commande ressemblera à ceci :

Terminal


NETWORK ID          NAME                DRIVER              SCOPE
0e7e2d58fe94        bridge              bridge              local
9c84fdfc69ee        host                host                local
71cfb6a79d9e        none                null                local

2. Afficher les informations sur un réseau : commande docker network inspect

La commande docker network inspect permet d'obtenir des informations détaillées sur un réseau spécifique, y compris les conteneurs connectés, les paramètres du sous-réseau et de la passerelle.

Exemple d'utilisation :

Terminal


docker network inspect my_bridge_network 

La sortie de la commande contiendra des informations sur le réseau au format JSON :

JSON

[
    {
        "Name": "my_bridge_network",
        "Id": "0e7e2d58fe94",
        "Created": "2021-01-01T00:00:00.000000000Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": {
            "container_id": {
                "Name": "my_container",
                "EndpointID": "6c52f8c75c1e",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

3. Connecter un conteneur à un réseau : commande docker network connect

La commande docker network connect est utilisée pour connecter un conteneur déjà démarré à un réseau existant.

Exemple d'utilisation :

Terminal


docker network connect my_bridge_network my_container 

4. Déconnecter un conteneur d'un réseau : commande docker network disconnect

La commande docker network disconnect est utilisée pour déconnecter un conteneur d'un réseau.

Exemple d'utilisation :

Terminal


docker network disconnect my_bridge_network my_container 

5. Supprimer un réseau : commande docker network rm

La commande docker network rm est utilisée pour supprimer un réseau. Notez qu'un réseau ne peut être supprimé qu'après avoir déconnecté tous les conteneurs qui y sont connectés.

Exemple d'utilisation :

Terminal


docker network rm my_bridge_network 

2.3 Exemples de commandes docker network

Exemples d'utilisation des commandes docker network

Exemple 1 : Création et utilisation d'un réseau bridge

Création d'un réseau :

Terminal

docker network create --driver bridge my_bridge_network 

Lancement des conteneurs et connexion à un réseau :

Terminal

docker run -d --name container1 --network my_bridge_network nginx

docker run -d --name container2 --network my_bridge_network redis 

Vérification du réseau :

Terminal

docker network inspect my_bridge_network 

La sortie de la commande docker network inspect contiendra des informations détaillées sur le réseau au format JSON. Pour rendre la sortie plus lisible, tu peux utiliser l'outil jq :

Terminal

docker network inspect my_bridge_network | jq

C'est pratique pour filtrer et afficher les données structurées sur le réseau, comme les conteneurs connectés, leurs adresses IP et les configurations de sous-réseau.

Exemple 2 : Connexion et déconnexion des conteneurs

Lancement d'un conteneur :

Terminal

docker run -d --name my_container nginx 

Connexion d'un conteneur à un réseau :

Terminal

docker network connect my_bridge_network my_container 

Déconnexion d'un conteneur d'un réseau :

Terminal

docker network disconnect my_bridge_network my_container 
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION