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