Réseaux Bridge personnalisés
Bien que Docker fournisse un réseau bridge par défaut, la création de réseaux bridge personnalisés offre une meilleure isolation et un contrôle accru sur la communication entre les conteneurs.
- Tout d'abord, consultons la liste actuelle des réseaux Docker :
docker network ls
Vous devriez voir un résultat similaire à celui-ci :
NETWORK ID NAME DRIVER SCOPE
296d1b460b17 bridge bridge local
91199fc6ad2e host host local
1078d2c781b6 none null local
- Créons maintenant un réseau bridge personnalisé :
docker network create my-custom-bridge
- Listez à nouveau tous les réseaux Docker pour vérifier la création :
docker network ls
Vous devriez maintenant voir my-custom-bridge dans la liste :
NETWORK ID NAME DRIVER SCOPE
296d1b460b17 bridge bridge local
91199fc6ad2e host host local
7215f99d0080 my-custom-bridge bridge local
1078d2c781b6 none null local
- Lancez deux conteneurs sur ce réseau personnalisé et installez l'utilitaire ping :
docker run --network=my-custom-bridge --name container1 -d nginx
docker run --network=my-custom-bridge --name container2 -d nginx
Ensuite, installons l'utilitaire ping dans les deux conteneurs. Cette étape est nécessaire car l'image Nginx par défaut n'inclut pas cet outil :
docker exec container1 apt-get update && docker exec container1 apt-get install -y iputils-ping
docker exec container2 apt-get update && docker exec container2 apt-get install -y iputils-ping
- Testez la communication entre les conteneurs :
docker exec container1 ping -c 4 container2
Vous devriez obtenir des réponses positives, ce qui démontre que les conteneurs situés sur un même réseau bridge personnalisé peuvent communiquer en utilisant leurs noms. Cela fonctionne grâce au DNS intégré de Docker qui résout les noms de conteneurs en adresses IP au sein du même réseau.
Si les pings échouent, vérifiez que les deux conteneurs sont bien en cours d'exécution (docker ps) et que l'utilitaire ping a été correctement installé.