Boas práticas de Dockerfile em 2026 — os padrões que de fato importam
19 de maio de 2026 · 1 min de leitura · por Sudhanshu K.
A maioria dos artigos «Dockerfile best practices» no top 10 do Google foi escrita entre 2019 e 2022. Não estão errados — só estão faltando os padrões que se tornaram boas práticas desde então.
Este é o checklist que usamos ao fazer onboarding de um cliente em Docker gerenciado. Não o que você encontra em um tutorial de Docker — o que você encontra em Dockerfiles de qualidade de produção em 2026.
Multi-stage com cache mounts e 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"]Os cache mounts sozinhos podem cortar tempos de build de CI de 8 minutos para 90 segundos. O runtime distroless reduz o tamanho da imagem de ~50 MB para ~2 MB — e a superfície de ataque para quase nada.
O artigo completo cobre:
- Por que o BuildKit deve ser explicitamente ativado via a diretiva de sintaxe
- Ordenação de camadas por churn (pouco mutáveis no topo, frequentemente mutáveis embaixo)
- Build secrets via
--mount=type=secret— nuncaARG DB_PASSWORD - Fixar imagens base por digest com frescor dirigido por Renovate
- Healthchecks baratos e legíveis
.dockerignorecomo o arquivo de maior ROI do projeto- Os antipadrões que ainda vemos em 2026
Entregamos este template em cada engagement de Docker gerenciado.
Full article available
Read the full article