Profile picture of Philémon GLOBLÉHI
Philémon GLOBLÉHI
Développeur Java
Follow me
Generated by linktime
June 1, 2025
5 bonnes pratiques Docker que j'applique systématiquement sur mes projets Java 👇 Utiliser Docker avec Java peut grandement simplifier les déploiements… à condition de respecter quelques principes. Sinon, on se retrouve vite avec des images lourdes, lentes et peu sécurisées. Voici les habitudes que j’ai prises pour livrer des conteneurs Java vraiment exploitables en production : 1. Images multi-étapes pour un résultat propre Je sépare le build (avec Maven ou Gradle) de l’exécution, grâce aux builds multi-étapes. L’image finale ne contient que le JDK/JRE et le .jar ou .war. J’exclus tout ce qui est inutile grâce à .dockerignore (dossier .m2, target/, etc.). 2. Éviter l’exécution en root Par défaut, de nombreuses images Java tournent en tant que root. Je crée un utilisateur dédié dans le Dockerfile pour éviter tout risque en cas de compromission. 3. Versionner de manière explicite Plutôt que d’utiliser latest, je tague mes images avec la version de l’application (1.0.3, par exemple) et l’identifiant Git. Ça évite les surprises et facilite les rollbacks. 4. Optimiser le cache Docker Je commence par copier le pom.xml ou build.gradle et les fichiers de dépendances, puis j’installe celles-ci avant d’ajouter le code. Ainsi, les dépendances sont mises en cache et je gagne un temps précieux à chaque build. 5. Simuler la prod en local avec Docker Compose J’intègre tous les services nécessaires (PostgreSQL, Kafka, Redis, etc.) dans un docker-compose.yml pour que l’équipe puisse travailler dans un environnement proche de la production, sans rien installer localement. Et un scan de sécurité systématique Avant chaque mise en prod, je passe mes images dans un scanner de vulnérabilités (comme Trivy ou Snyk) pour limiter les risques.
Stay updated
Subscribe to receive my future LinkedIn posts in your mailbox.

By clicking "Subscribe", you agree to receive emails from linktime.co.
You can unsubscribe at any time.

58 Likes
June 1, 2025
Discussion about this post
Profile picture of Geoffrey Boulay
Geoffrey Boulay
Software engineer #closetowork
3 months ago
Pour le point 1 le multi-stage fait la séparation. Pas besoin du dockerignore
Profile picture of Farid ABDI
Farid ABDI
Ingénieur Développeur Java/Python | Expert Spring Boot & Django REST | IA & Machine Learning Enthusiast | Créateur de solutions innovantes
3 months ago
Très utile, merci Philémon !
Profile picture of Gervais Youansi
Gervais Youansi
J'aide les développeurs à monter en compétences | CEO Clean Code Academy | +10 d'expérience / 100% clients satisfaits 🌟
3 months ago
L’astuce du cache avec le pom.xml en premier change vraiment la donne niveau temps de build.