Pular para o conteúdo
EdgeServers
Blog

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 — nunca ARG DB_PASSWORD
  • Fixar imagens base por digest com frescor dirigido por Renovate
  • Healthchecks baratos e legíveis
  • .dockerignore como 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