Saltar al contenido
EdgeServers
Blog

Buenas prácticas de Dockerfile en 2026 — los patrones que de verdad importan

19 de mayo de 2026 · 1 min de lectura · por Sudhanshu K.

La mayoría de los artículos «Dockerfile best practices» en el top 10 de Google fueron escritos entre 2019 y 2022. No están equivocados — simplemente les faltan los patrones que se han convertido en buena práctica desde entonces.

Esta es la checklist que usamos al hacer onboarding de un cliente a Docker gestionado. No lo que encontrarás en un tutorial de Docker — lo que encontrarás en Dockerfiles de calidad de producción en 2026.

Multi-stage con cache mounts y 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"]

Los cache mounts por sí solos pueden recortar los tiempos de build de CI de 8 minutos a 90 segundos. El runtime distroless reduce el tamaño de imagen de ~50 MB a ~2 MB — y la superficie de ataque a casi nada.

El artículo completo cubre:

  • Por qué BuildKit debe activarse explícitamente vía la directiva de sintaxis
  • Ordenación de capas por churn (lo que cambia poco arriba, lo que cambia mucho abajo)
  • Secretos de build vía --mount=type=secret — nunca ARG DB_PASSWORD
  • Anclar imágenes base por digest con frescura dirigida por Renovate
  • Healthchecks baratos y legibles
  • .dockerignore como el fichero de mayor ROI del proyecto
  • Los antipatrones que todavía vemos en 2026

Entregamos esta plantilla en cada engagement de Docker gestionado.

Artículo completo disponible

Leer el artículo completo