## Migrer vers Docker Hardened Images (DHI) La migration vers [[def-docker-hardened-images|DHI]] est généralement simple et implique principalement de changer l'image de base dans votre Dockerfile. ### Points importants à vérifier Avant de remplacer vos images par des DHI, veillez à vérifier les éléments suivants : - **Pas de shell** : Les images non-dev n'incluent pas de shell par défaut, utilisez les images avec un tag `dev` pour les étapes de compilation - **Utilisateur non-root** : DHI s'exécute par défaut en tant qu'utilisateur non-root - **Point d'entrée** : Vérifiez si l'image a un point d'entrée différent, par exemple `8080` au lieu de `80` > [!warning] Rappel ! <span style="font-weight: normal; color: var(--text-normal)">Utilisez les images avec le tag `dev` pour les étapes de build uniquement et les images runtime pour la production</span> ### Étapes de migration 1. Consultez le [catalogue DHI](https://dhi.io/) pour trouver les images disponibles 2. Identifier l'image DHI correspondante. Par exemple, si vous utilisez une image Debian, migrez vers la variante DHI Debian 3. Mettre à jour votre Dockerfile en remplaçant l'image de base : ```dockerfile # Avant FROM mysql:9.6 # Après FROM dhi.io/mysql:9.6 ``` 4. Tester votre application : - build de l’image - exécution du conteneur - validation fonctionnelle - vérification des logs 5. Scanner les vulnérabilités avec l'un des outils de dvotre choix Trivy, Docker Scout, etc. ```bash docker scout cves dhi.io/mysql:9.6 ``` ```bash trivy image --scanners vuln --vex repo dhi.io/mysql:9.6 ``` ### Références - [Docker Hardened Images (site officiel)](https://www.docker.com/products/hardened-images/) - [Documentation DHI](https://docs.docker.com/dhi/) - [Catalogue DHI (Hub Docker)](https://hub.docker.com/hardened-images/catalog)