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"]