Sobes.tech
Junior — Middle

Explique el concepto de ensamblaje de múltiples contornos en Docker y sus ventajas.

sobes.tech AI

Respuesta de la IA

La compilación multinivel en Docker permite utilizar varias etapas de construcción en un solo Dockerfile. Esto significa que primero se puede construir la aplicación en un contenedor con las herramientas y dependencias necesarias, y luego copiar solo los artefactos necesarios a la imagen final, que será mínima y ligera.

Ventajas:

  • Reducción del tamaño de la imagen final, ya que no incluye las herramientas de construcción ni archivos temporales.
  • Mayor seguridad, ya que la imagen final no contiene componentes innecesarios.
  • Facilidad de mantenimiento y legibilidad del Dockerfile, ya que todos los pasos están en un solo lugar.

Ejemplo para Go:

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

# Imagen final
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]