diff --git a/doc/guide_bonnes_pratiques.md b/doc/guide_bonnes_pratiques.md index 9a0b1f12f79877ce520ad5a923d61a3d54884809..f03a8036b974e7e8b64e95f96ed3101cd8f383be 100644 --- a/doc/guide_bonnes_pratiques.md +++ b/doc/guide_bonnes_pratiques.md @@ -41,6 +41,15 @@ Allez-y ! :D 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.