Pour vérifier un fichier Docker Compose, commencez par docker compose config. Contrôlez ensuite l’exposition réseau, les privilèges, les secrets, les volumes, les versions d’images, les healthchecks et les ressources. La syntaxe valide ne garantit ni la sécurité ni la fiabilité du déploiement.
Valider Compose avant la checklist
ConfigCheck analyse le fichier et les Dockerfiles associés sans exécuter d’image. Il complète la commande locale avec des contrôles de sécurité et de fiabilité.
Valider mon fichier ComposeExposition et privilèges
1. Publier tous les ports sur toutes les interfaces
Quand seul le reverse proxy local doit joindre le service, liez le port à 127.0.0.1 plutôt qu’à toutes les interfaces. Vérifiez aussi que les ports internes entre services ne sont pas publiés inutilement sur l’hôte.
2. Utiliser privileged: true
Ce mode élargit fortement les droits du conteneur. Préférez des capacités précises, retirez celles qui sont inutiles et activez no-new-privileges.
3. Monter le socket Docker
L’accès à /var/run/docker.sock permet généralement un contrôle très important de l’hôte. Évitez-le ou interposez un mécanisme strictement limité.
Secrets et données
4. Écrire un secret directement dans Compose
Un mot de passe commité reste dans l’historique. Utilisez un mécanisme de secrets adapté ou un fichier d’environnement protégé, non versionné et limité aux comptes nécessaires.
5. Monter un répertoire hôte trop large
Préférez un chemin explicite et le mode lecture seule lorsque l’écriture n’est pas nécessaire. Vérifiez également le propriétaire et les permissions du répertoire hôte.
Fiabilité
6. Utiliser uniquement latest
Un redéploiement peut alors récupérer un contenu différent. Figez une version ou un digest et planifiez les mises à jour.
7. Confondre démarrage et disponibilité
depends_on ne prouve pas toujours que l’application est prête. Ajoutez un contrôle de santé qui vérifie un comportement utile et une stratégie de reprise cohérente.
8. Oublier les limites
Une fuite mémoire ou une boucle peut affecter les autres services. Définissez des limites cohérentes avec les mesures de charge et observez leur effet avant la production.
9. Laisser tourner en root
Combinez un utilisateur non privilégié dans l’image, un système de fichiers en lecture seule et un répertoire temporaire limité.
10. Ne pas organiser les journaux
Limitez la taille et la rotation pour éviter de saturer le disque tout en conservant assez d’historique pour diagnostiquer.
Une validation en trois niveaux
- Structure : exécutez
docker compose config -qet vérifiez les références entre services, réseaux et volumes. - Sécurité : examinez les ports, secrets, privilèges, capacités et montages sensibles.
- Exploitation : contrôlez les versions, healthchecks, ressources, journaux et conditions de redémarrage.
Utilisez le Docker Compose validator en ligne pour obtenir une première analyse statique, puis testez le projet dans un environnement isolé.
Questions fréquentes
Comment vérifier un fichier Docker Compose avant déploiement ?
Validez la configuration, puis contrôlez les ports, volumes, secrets, privilèges, versions d’images, healthchecks et limites de ressources.
Pourquoi éviter privileged: true ?
Ce mode accorde au conteneur des droits très étendus. Ajoutez uniquement les capacités réellement nécessaires.
Faut-il utiliser latest pour les images Docker ?
Évitez-le pour les déploiements reproductibles. Utilisez une version ou un digest maîtrisé et planifiez les mises à jour.
Un healthcheck garantit-il que l’application fonctionne ?
Seulement si le test vérifie un comportement utile. Le démarrage du processus ne suffit pas à prouver que le service est disponible.
Publié le 19 juillet 2026, mis à jour le 20 août 2026.