Une [série de recommendations](https://wiki.picasoft.net/doku.php?id=technique:docker:tips) est disponible ici pour l'écriture des Dockerfile.
## Image de base
Préférez vous baser sur une image Alpine (peu de paquets, donc peu de vulnérabilités) ou Debian.
Pour Debian, préférez la version stable la plus récente possible (Buster plutôt que Stretch) pour mitiger d'emblée un grand nombre de vulnérabilités.
Préférez également les versions `slim`, qui contiennent moins de paquets et suffisent souvent.
Pour les services basés sur un langage interprété comme Python, utilisez l'image officielle en appliquant les principes précédents.
## Builds reproductibles
L'idée derrière un build "reproductible", c'est que si je me rends sur un ancien commit de ce dépôt et que je lance un `docker build` dans un dossier, comme `pica-mattermost`, l'image finale doit être la même quel que soit le temps écoulé depuis ce commit. Pourquoi ? Pour pouvoir relancer le build d'une ancienne version et la remettre en production en cas de problème.