Sobes.tech
Junior — Middle

Magyarázza el a Docker több szakaszos építésének fogalmát és előnyeit.

sobes.tech MI

Válasz az MI-től

A Docker több szakaszos buildje lehetővé teszi, hogy egy Dockerfile-ban több build szakaszt használjunk. Ez azt jelenti, hogy először az alkalmazást egy olyan konténerben lehet felépíteni, amelyben a szükséges eszközök és függőségek vannak, majd csak a szükséges artefaktokat másoljuk át a végső, minimális és könnyű képre.

Előnyök:

  • A végső kép méretének csökkentése, mivel a build eszközök és ideiglenes fájlok nem kerülnek bele.
  • Növelt biztonság, mivel a végső képen nincsenek felesleges komponensek.
  • A Dockerfile karbantartásának és olvashatóságának megkönnyítése, mivel minden lépés egy helyen van leírva.

Példa Go-hoz:

# Build szakasz
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Végső kép
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]