12 questions pour valider Docker Compose : fichier compose et YAML, pilotage up/down/logs, mini-application câblée, variables et profils, dépannage sans casse.
Répondez à tout, puis cliquez sur Corriger : score et explications s'affichent.
3.1 · Rappel
1. Que déclare un service dans un compose.yml ?
Un service = image + ports + env + volumes + réseau.
3.1 · Application
2. Idir écrit ports: [8080:80] sans guillemets et le stack échoue. Pourquoi ?
Ports toujours quotés en YAML : 80 % des erreurs viennent de là.
3.2 · Rappel
3. Quelle différence entre down et down -v ?
down seul = arrêt sûr ; -v = reset qui efface les volumes.
3.2 · Application
4. Idir modifie son code, relance up -d, mais l'ancien code tourne toujours. Que faire ?
Sans --build, Compose réutilise l'image existante.
3.3 · Application
5. Quels ports Idir publie-t-il sur sa maquette api + base + adminer ?
Surface minimale : seul le nécessaire sort, la base reste interne.
3.3 · Application
6. L'api d'Idir crash au premier up puis passe au second. Diagnostic et remède ?
depends_on ordonne sans attendre : le retry encaisse le démarrage.
3.4 · Rappel
7. Que signifie ${PORT:-3000} dans un compose.yml ?
Interpolation : valeur de PORT, sinon le défaut prod-sûr 3000.
3.4 · Application
8. Idir veut adminer en dev mais jamais en prod, sans dupliquer le fichier. Il utilise…
Profil opt-in : absent par défaut, activé explicitement en dev.
3.5 · Application
9. « port already allocated » au up : Idir vérifie et trouve un vieux run manuel. Il…
Conflit sur l'hôte : gauche déplacé ou occupant libéré.
3.3 · Arbitrage
10. Pour la prod, un collègue propose l'URL et le mot de passe en dur dans le compose commité. Arbitrage ?
Jamais de secret en dur commité : variable + secret managé.
3.4 · Arbitrage
11. Deux compose.yml copiés (dev/prod) divergent et la console dev a failli partir en prod. Arbitrage ?
Un socle, des valeurs par env, des différences en surcharge.
3.5 · Arbitrage
12. Stack en panne avant une démo : un collègue propose down -v « pour repartir propre ». Arbitrage ?
Jamais de -v en panique : diagnostiquer d'abord, recréer ciblé.
Et après ?
Score ≥ 80 % : passez au Niveau 4 — registres, healthchecks, réseaux avancés et sauvegarde des volumes (fiabiliser ce que Compose démarre).
Score 50-79 % : reprenez les sections ratées (YAML et config en 3.1, cycle down en 3.2, noms et retry en 3.3, profils en 3.4, diagnostic en 3.5) puis refaites le test.
Score < 50 % : rejouez chaque défi 48h dans l'ordre — stack validé, cycle sans perte, mini-appli persistée, socle unifié, panne réparée sans -v.