Sobes.tech
Junior — Middle

Expliquez le concept de construction multi-étapes dans Docker et ses avantages.

sobes.tech IA

Réponse de l'IA

La compilation multi-étapes dans Docker permet d'utiliser plusieurs étapes de construction dans un seul Dockerfile. Cela signifie que vous pouvez d'abord construire l'application dans un conteneur avec les outils et dépendances nécessaires, puis copier uniquement les artefacts nécessaires dans l'image finale, qui sera minimale et légère.

Avantages :

  • Réduction de la taille de l'image finale, car les outils de construction et les fichiers temporaires ne sont pas inclus.
  • Amélioration de la sécurité, car l'image finale ne contient pas de composants superflus.
  • Facilité de maintenance et de lisibilité du Dockerfile, car toutes les étapes sont décrites en un seul endroit.

Exemple pour Go :

# Étape de construction
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

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