đ Cas Pratique : RĂ©seau Docker
Dans ce cas pratique, nous allons explorer le fonctionnement des réseaux Docker à travers un exemple concret de deux conteneurs Docker qui communiquent entre eux via un réseau bridge.
đŻ Objectif
Nous allons :
- Créer un réseau personnalisé Docker.
- Lancer deux conteneurs : un serveur web Nginx et un client Curl.
- Configurer ces conteneurs pour quâils communiquent via le rĂ©seau personnalisĂ©.
đ CrĂ©er un RĂ©seau Docker
Docker fournit plusieurs types de réseaux, mais nous allons utiliser un réseau de type bridge personnalisé. Par défaut, Docker attribue à chaque conteneur un réseau privé isolé, mais nous allons créer un réseau commun pour que nos conteneurs puissent communiquer entre eux.
Créez un réseau Docker en utilisant la commande suivante :
docker network create my-custom-network
Cette commande crée un réseau de type bridge appelé my-custom-network
. Vous pouvez vérifier sa création avec :
docker network ls
Vous verrez votre réseau personnalisé dans la liste des réseaux.
đ Lancer un Serveur Web Nginx dans le RĂ©seau
Maintenant, nous allons lancer un conteneur Nginx et le connecter au réseau que nous avons créé.
docker run -d --name my-nginx --network my-custom-network nginx
Explications :
-d
: Lance le conteneur en mode détaché (en arriÚre-plan).--name my-nginx
: Nom du conteneur (facilitera la communication).--network my-custom-network
: Connecte le conteneur au réseau personnalisémy-custom-network
.nginx
: Utilise lâimage Nginx officielle.
VĂ©rifiez que le conteneur est en cours dâexĂ©cution avec :
docker ps
đ„ïž Lancer un Conteneur Client (Curl)
Pour tester la communication, nous allons lancer un second conteneur contenant Curl, un utilitaire en ligne de commande pour effectuer des requĂȘtes HTTP, afin dâaccĂ©der au serveur Nginx.
docker run -it --network my-custom-network curlimages/curl curl my-nginx
Explications :
-it
: Lance le conteneur en mode interactif (pour que Curl puisse afficher la sortie).--network my-custom-network
: Connecte ce conteneur au mĂȘme rĂ©seau quemy-nginx
.curlimages/curl
: Utilise une image légÚre de Curl.curl my-nginx
: Effectue une requĂȘte HTTP sur le conteneurmy-nginx
(via son nom DNS dans le réseau Docker).
Si tout fonctionne correctement, vous devriez voir une réponse HTML du serveur Nginx.
đ Inspecter le RĂ©seau
Pour mieux comprendre comment Docker gÚre le réseau, inspectons-le :
docker network inspect my-custom-network
Cette commande affichera les dĂ©tails du rĂ©seau, y compris les conteneurs connectĂ©s, leurs adresses IP internes, et dâautres informations pertinentes.
đ§č Nettoyage
Une fois terminĂ©, vous pouvez arrĂȘter et supprimer les conteneurs et le rĂ©seau avec ces commandes :
docker stop my-nginx
docker rm my-nginx
docker network rm my-custom-network
đ Conclusion
Ce cas pratique illustre la maniĂšre dont Docker utilise les rĂ©seaux pour permettre la communication entre les conteneurs. GrĂące Ă Docker, il est possible de crĂ©er des rĂ©seaux isolĂ©s et de gĂ©rer facilement la communication entre les services, ce qui est essentiel dans les environnements dâapplications distribuĂ©es.