Sobes.tech
Middle+

¿Qué es la construcción de múltiples etapas en Docker? ¿Para qué sirve?

sobes.tech AI

Respuesta de la IA

La construcción de múltiples etapas en Docker permite utilizar varias fases de compilación en un solo Dockerfile. Esto ayuda a crear imágenes compactas y optimizadas, separando las etapas de compilación y ejecución final de la aplicación.

Por ejemplo, en la primera etapa se puede compilar la aplicación con las herramientas y dependencias necesarias, y en la segunda solo copiar los artefactos compilados en una imagen mínima sin archivos ni herramientas de compilación innecesarias.

Ventajas:

  • Reducción del tamaño de la imagen final
  • Mayor seguridad (menos componentes en el contenedor final)
  • Claridad y facilidad de gestión del Dockerfile

Ejemplo:

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

# Imagen final
FROM alpine:latest
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["myapp"]