Docker Compose¶
Structure des services¶
services:
perfshop-frontend # React/Nginx — port 8090
perfshop-app # Spring Boot — port 8080
perfshop-db # PostgreSQL — port 5432 (interne)
perfshop-monitoring # Node.js — port 3001
prometheus # Prometheus — port 9091
grafana # Grafana — port 3002
perfshop-chaos-admin # Panneau de contrôle chaos
docs # MkDocs Material — port 8085
Réseau¶
Tous les services partagent le réseau bridge perfshop-network.
Aucun service n'est exposé directement sur Internet — un reverse proxy Nginx gère
les sous-domaines *.tests-performance.fr.
Volumes persistants¶
| Volume | Service | Contenu |
|---|---|---|
mysql-data |
perfshop-db | Données PostgreSQL |
prometheus-data |
prometheus | Métriques (rétention 15j) |
grafana-data |
grafana | Dashboards, datasources |
Ajouter un service¶
Pour ajouter un nouveau service au projet :
mon-service:
image: mon-image:tag
container_name: mon-service
ports:
- "PORT_HOTE:PORT_CONTENEUR"
mem_limit: 256m # Toujours définir une limite mémoire
mem_reservation: 64m
networks:
- perfshop-network
restart: unless-stopped
Limite mémoire obligatoire
Toujours définir mem_limit pour éviter qu'un service ne consomme toute la RAM
disponible. Particulièrement important lors des tests de chaos mémoire.