Sobes.tech
Senior

¿Qué prácticas existen para reducir el tamaño de la imagen Docker?

sobes.tech AI

Respuesta de la IA

Para reducir el tamaño de la imagen de Docker, se aplican varias prácticas:

  • Uso de imágenes base minimalistas, por ejemplo, alpine en lugar de ubuntu.
  • Construcción en múltiples etapas (multi-stage builds), donde en las primeras etapas se construye la aplicación, y en la imagen final solo queda el runtime mínimo con el binario compilado.
  • Limpieza de cachés y archivos temporales después de instalar dependencias dentro del Dockerfile.
  • Combinación de comandos RUN para reducir la cantidad de capas.
  • Uso de .dockerignore para excluir archivos innecesarios del contexto de construcción.

Ejemplo de Dockerfile de múltiples etapas para Go:

# Etapa 1: Construcción
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Etapa 2: Runtime mínimo
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]

Este enfoque permite obtener una imagen compacta con el conjunto mínimo de archivos.