scroll to top

Dockerfile - les bonnes pratiques

A partir d'un Dockerfile pris "aleatoirement" sur Github, à partir d'un bon vieux monolithe, nous allons, en appliquant les bonnes pratiques, transformer l'application en un ensemble de microservices réutilisables.

On va commencer par externaliser les services utilisés par notre application en utilisant des images existantes et en associant le tout dans un compose file.

Ensuite, nous allons optimiser le dockerfile en vidant les caches et en supprimant les layers inutiles générés pendant le build de notre application.

Puis nous allons supprimer les différentes étapes de build afin de ne pas conserver les dépendances de développement dans l'image finale.

On s'assurera d'utiliser des images officielles plutôt que de recréer des images que l'on devra maintenir.

Enfin on verra comment ne pas démarrer nos application en tant que root.


From a Dockerfile taken "randomly" on Github, like a good old monolith, we will, by applying the best practices, transform this application into a set of reusable and understandable microservices.

We will start by externalizing the services used by our application using existing images and associating them in a Compose file.

We will optimize it by emptying the caches and removing unnecessary layers generated during the build of our application.

We will cut out the different build steps so that we do not have to keep the development dependencies in the final image

We will improve maintainability by using official images rather than manually installing our dependencies.

We will see how to avoid running our application as root.