Bonnes pratiques Dockerfile en 2026 — les patterns qui comptent vraiment
19 mai 2026 · 1 min de lecture · par Sudhanshu K.
La plupart des articles « Dockerfile best practices » dans le top 10 Google ont été écrits entre 2019 et 2022. Ils ne sont pas faux exactement — il leur manque juste les patterns devenus bonne pratique depuis.
Voici la checklist que nous utilisons lors de l'onboarding d'un client sur Docker managé. Pas ce que vous trouverez dans un tutoriel Docker — ce que vous trouverez dans des Dockerfiles de qualité production en 2026.
Multi-stage avec cache mounts et runtime distroless
# syntax=docker/dockerfile:1.7
FROM golang:1.22-alpine AS builder
WORKDIR /src
COPY go.mod go.sum ./
RUN --mount=type=cache,target=/go/pkg/mod go mod download
COPY . .
RUN --mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \
CGO_ENABLED=0 go build -trimpath -ldflags='-s -w' -o /out/app ./cmd/app
FROM gcr.io/distroless/static-debian12:nonroot
COPY --from=builder /out/app /app
USER nonroot:nonroot
ENTRYPOINT ["/app"]Les cache mounts à eux seuls peuvent réduire les temps de build CI de 8 minutes à 90 secondes. Le runtime distroless fait passer la taille d'image de ~50 Mo à ~2 Mo — et la surface d'attaque à presque rien.
L'article complet couvre :
- Pourquoi BuildKit doit être explicitement activé via la directive de syntaxe
- Ordonnancement des couches par churn (peu changeant en haut, fréquemment changeant en bas)
- Secrets de build via
--mount=type=secret— jamaisARG DB_PASSWORD - Pin des images de base par digest avec une fraîcheur dirigée par Renovate
- Healthchecks pas chers et lisibles
.dockerignorecomme le fichier au plus haut ROI du projet- Les antipatterns que nous voyons encore en 2026
Nous livrons ce template sur chaque engagement Docker managé.
Article complet disponible
Lire l'article complet