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,
alpineen lugar deubuntuodebian. - 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.