Docker Networks — Explication simple¶
Les réseaux Docker = des salles de réunion¶
Chaque container est une personne. Un réseau Docker, c'est une salle de réunion. Deux personnes ne peuvent se parler que si elles sont dans la même salle.
Situation avant (tout dans une seule salle)¶
┌─────────────────────────────────────┐
│ psychoenligne_default │
│ │
│ frontend backend postgres redis │
└─────────────────────────────────────┘
Tout le monde dans la même salle → tout le monde se parle. Ça marche, mais postgres et redis sont "propriété" de PsychoEnLigne. Un deuxième projet ne peut pas les utiliser.
Situation après (infrastructure partagée)¶
On a créé une deuxième salle : shared_infra. Postgres et redis y ont déménagé.
┌──────────────────┐ ┌──────────────────────────────┐
│ shared_infra │ │ psychoenligne_default │
│ │ │ │
│ postgres redis │ │ frontend backend │
└──────────────────┘ └──────────────────────────────┘
Problème : frontend et backend se parlent. Mais backend doit aussi parler à postgres et redis. Ils ne sont plus dans la même salle.
Solution : le backend a un badge d'accès aux deux salles.
┌──────────────────┐ ┌──────────────────────────────┐
│ shared_infra │ │ psychoenligne_default │
│ │ │ │
│ postgres redis │ │ frontend │
│ ↕ │ │ ↕ │
│ backend ──┼─────┼──────────── backend │
└──────────────────┘ └──────────────────────────────┘
(même container, présent dans les deux salles)
Pour les prochains projets¶
Chaque nouveau projet crée sa propre salle (monprojet_default) pour frontend ↔ backend. Son backend prend aussi un badge pour shared_infra — il accède à postgres et redis sans créer de nouveaux containers.
┌──────────────────┐ ┌────────────────────┐ ┌────────────────────┐
│ shared_infra │ │ psychoenligne_def │ │ monprojet_default │
│ │ │ │ │ │
│ postgres redis │ │ frontend backend │ │ frontend backend │
└────────┬─────────┘ └────────┬───────────┘ └────────┬───────────┘
└────────────────────→─┘←─────────────────────→─┘
(les deux backends ont accès à shared_infra)
Note sur psycho-net¶
psycho-net était une tentative manuelle de créer cette deuxième salle, mais personne n'avait de badge — elle existait sans être utilisée. Remplacée par shared_infra correctement configurée.
Liens connexes¶
- shared/architecture/infrastructure-partagee-postgres-redis — mise en place technique de shared_infra