Pour choisir la bonne image Docker, vérifiez qu'elle est officielle et fiable, choisissez une image légère (comme slim ou alpine) pour réduire la taille, et utilisez un tag avec une version spécifique pour plus de stabilité. Vous pouvez aussi utiliser les outils de recherche de Docker Hub pour filtrer et explorer les images
Sur Docker Hub, toutes les images ne se valent pas. Il faut repérer celles qui sont officielles ou maintenues par l'éditeur
Official Image Exemples : postgres nginx ubuntu openjdk
Verified Publisher → maintenues par une entreprise fiable
Une image non maintenue est une image vulnérable.
Même une image officielle peut devenir un risque si elle n'est plus maintenue.
# Docker Scout (intégré à Docker Desktop / CLI)
docker scout quickview postgres:16-alpine
# Trivy — scanner open source très complet
trivy image postgres:16-alpine
# Trivy avec sortie filtrée (CRITICAL + HIGH uniquement)
trivy image --severity CRITICAL,HIGH postgres:16-alpine
Référence : docs.docker.com — docker scout quickviewUn docker pull ultérieur peut ramener une version totalement différente, au risque de casser "silencieusement" l'application
FROM eclipse-temurin:17-jre-alpine
FROM postgres:16.3-alpine
FROM jenkins/jenkins:lts-jdk17
FROM node:22-alpine
Un peu plus lourde qu'alpine
Exemple concret : PostgreSQL
Sur Docker Hub: https://hub.docker.com/_/postgres
FROM maven:3.9-eclipse-temurin-17 AS build
RUN mvn package
FROM gcr.io/distroless/java17-debian13:nonroot
COPY --from=build app.jar app.jar
| Besoin | Choix | Raison |
|---|---|---|
| Image légère | alpine | taille minimale |
| Compatibilité | slim | glibc |
| Production sécurisée | distroless | surface minimale |
| Build | maven / node | SDK inclus |
| Reproductibilité | sha256 | immuable |