Dockerfile Best Practices 2026 — die Patterns, die wirklich zählen
19. Mai 2026 · 1 Min. Lesezeit · von Sudhanshu K.
Die meisten „Dockerfile Best Practices"-Artikel in Googles Top 10 wurden zwischen 2019 und 2022 geschrieben. Sie sind nicht falsch — ihnen fehlen nur die Patterns, die seitdem zur guten Praxis geworden sind.
Dies ist die Checkliste, die wir beim Onboarding eines Kunden auf Managed Docker nutzen. Nicht das, was Sie in einem Docker-Tutorial finden — was Sie in produktionstauglichen Dockerfiles 2026 finden.
Multi-Stage mit Cache-Mounts und Distroless-Runtime
# 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"]Die Cache-Mounts allein können CI-Build-Zeiten von 8 Minuten auf 90 Sekunden senken. Die Distroless-Runtime senkt die Image-Größe von ~50 MB auf ~2 MB — und die Angriffsfläche auf fast nichts.
Der vollständige Beitrag behandelt:
- Warum BuildKit explizit via Syntax-Direktive aktiviert werden muss
- Layer-Reihenfolge nach Churn (Selten-Änderndes oben, Häufig-Änderndes unten)
- Build-Secrets via
--mount=type=secret— niemalsARG DB_PASSWORD - Base-Images per Digest pinnen mit Renovate-gesteuerter Aktualität
- Healthchecks, die günstig und lesbar sind
.dockerignoreals die Datei mit dem höchsten ROI im Projekt- Die Antipatterns, die wir 2026 immer noch sehen
Wir liefern diese Vorlage in jedem Managed-Docker-Engagement aus.
Vollständiger Artikel verfügbar
Vollständigen Artikel lesen