Middle+
Ce este build-ul multi-stage în Docker? La ce folosește?
sobes.tech AI
Răspuns de la AI
Construirea multi-etap în Docker permite utilizarea mai multor etape de construire într-un singur Dockerfile. Acest lucru ajută la crearea de imagini compacte și optimizate, separând etapele de construire și de rulare finală a aplicației.
De exemplu, în prima etapă, puteți construi aplicația cu instrumentele și dependențele necesare, iar în a doua, să copiați doar artefactele compilate într-o imagine minimă fără fișiere sau instrumente de construire inutile.
Avantaje:
- Reducerea dimensiunii imaginii finale
- Creșterea securității (mai puține componente în containerul final)
- Claritate și ușurință în gestionarea Dockerfile
Exemplu:
# Etapa de construire
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Imagine finală
FROM alpine:latest
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["myapp"]