Sobes.tech
Junior — Middle

¿Qué enfoques permiten reducir el tamaño de la imagen final de Docker?

sobes.tech AI

Respuesta de la IA

Para reducir el tamaño de la imagen final de Docker, se aplican los siguientes enfoques:

  • Uso de imágenes base minimalistas: por ejemplo, alpine en lugar de ubuntu o debian.
  • Construcción en múltiples etapas (multi-stage builds): permite construir la aplicación en una imagen y copiar solo los artefactos necesarios a la imagen final.
  • Eliminación de archivos temporales y cachés: limpiar los paquetes, cachés de gestores de paquetes, archivos temporales después de la instalación.
  • Combinar comandos RUN: reduce la cantidad de capas en la imagen.
  • Uso de .dockerignore: excluye archivos innecesarios del contexto de construcción.

Ejemplo de construcción en múltiples etapas:

FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

FROM alpine
COPY --from=builder /app/myapp /myapp
CMD ["/myapp"]

Este enfoque permite obtener una imagen compacta con solo lo necesario para ejecutar la aplicación.