Sobes.tech
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"]