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
:
- docker network create
- docker network ls
- docker network inspect
- docker network connect
- docker network disconnect
- 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
docker network create --driver bridge my_bridge_network
Exemple de création de réseau avec le driver overlay
docker network create --driver overlay my_overlay_network
Exemple de création de réseau avec le driver macvlan
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.
docker network ls
La sortie de la commande ressemblera à ceci :
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 :
docker network inspect my_bridge_network
La sortie de la commande contiendra des informations sur le réseau au format 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 :
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 :
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 :
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 :
docker network create --driver bridge my_bridge_network
Lancement des conteneurs et connexion à un réseau :
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 :
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
:
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 :
docker run -d --name my_container nginx
Connexion d'un conteneur à un réseau :
docker network connect my_bridge_network my_container
Déconnexion d'un conteneur d'un réseau :
docker network disconnect my_bridge_network my_container
GO TO FULL VERSION