// Logiciel / Outil
Docker
Compose pour le dev, BuildKit pour la prod. Reproductibilité et CI propre.
- Catégorie
- Logiciel / Outil
- Expérience
- 4 ans
- Site officiel
- ↗ www.docker.com
Docker permet à mes projets de tourner à l’identique sur ma machine, chez le client, et en CI. Pas d’« il marche chez moi », pas de PHP qui diverge, pas de base de données qui se contamine.
Mes usages Docker
- Compose dev : un
compose.yamlminimal avec PHP-FPM + MySQL + Mailpit + Redis. Démarragedocker compose upet c’est parti. - CI : pipelines GitHub Actions qui builent une image, lancent les tests dedans, et la publient en cas de succès.
- Production : images multi-stage buildées avec BuildKit pour des tailles réduites (alpine + opcache + JIT pré-warmed).
- One-shot tools : Symfony CLI, composer, npm — tout dans Docker pour ne polluer aucune machine.
Pratiques
- Multi-stage builds : un stage
builder(composer install dev + npm build) et un stageruntimeminimal. - .dockerignore soigné : pas de
vendor/,node_modules/,var/,.git/dans l’image. - Layers cache optimisés :
COPY composer.json composer.lockAVANT le code source pour réutiliser la couche d’install. - Healthchecks explicites pour Compose et orchestrateurs.
Limites assumées
Sur hébergement mutualisé (o2switch, OVH Web), Docker n’est pas dispo. J’utilise alors un workflow build-local + déploiement statique (assets compilés) + Composer optimisé en prod.
Besoin d’industrialiser une stack Docker ? Demande un devis.