🌐 Réseautage Virtuel : Comment les dockers discutent ?¶
Dans Docker, chaque conteneur est comme une maison isolée. Pour qu'ils se parlent (ex: ton site parle à ta base de données), il faut les brancher sur le même réseau virtuel.
Concept 1 : Le "Magic DNS" interne magic 🪄¶
C'est le super-pouvoir de Docker. Tu n'as jamais besoin de connaître l'adresse IP d'un conteneur.
La Règle : Le nom du service dans le docker-compose.yml devient son nom de domaine.
- Si ton service s'appelle
bdd-etudiants. - Ton site web peut juste faire :
ping bdd-etudiants. - Docker transforme automatiquement ce nom en la bonne IP.
Concept 2 : Le Réseau Proxy (Le pont vers l'extérieur) 🌉¶
Pour ton projet, nous utilisons une architecture sécurisée.
- Le réseau
proxy-net: C'est la zone publique. Seul le Proxy (Traefik/Nginx) et les conteneurs qui doivent être vus du web y sont connectés. - L'Isolation : Si un conteneur n'est pas sur ce réseau, il est invisible depuis Internet.
graph TD
Internet((Internet)) -->|Port 80/443| Proxy[🔒 Proxy Traefik/NPM]
subgraph "Réseau Docker (proxy-net)"
Proxy <--> Site[💻 Site Étudiant]
Proxy <--> Outil[🛠️ Outil IP]
end
Site <--> BDD[(Base de Données)]
style Proxy fill:#00b894,color:white
style Internet fill:#ff7675,color:white
Les Commandes Clés 🛠️¶
Comment gérer ces réseaux manuellement si besoin ?
docker network create nom_du_reseau: Crée un nouveau câble virtuel.docker network ls: Liste tous les réseaux disponibles sur ton Raspberry Pi.docker network inspect nom_du_reseau: Montre quels conteneurs sont branchés dessus en ce moment.
Résumé du flux de données :¶
graph LR
A[Utilisateur] -->|Requête| B(Proxy)
B -->|Réseau Interne| C{Quel service ?}
C -->|Site| D[Container A]
C -->|Outil| E[Container B]