Middle+
Mis on multi-stage build Dockeris? Milleks see vajalik on?
sobes.tech AI
Vastus AI-lt
Multi-stage build Docker võimaldab kasutada mitut ehitusetappi ühes Dockerfile'is. See aitab luua kompaktseid ja optimeeritud pilte, eraldades ehitamise ja lõpliku käivitamise etapid.
Näiteks saab esimeses etapis ehitada rakenduse vajalike tööriistade ja sõltuvustega ning teises kopeerida ainult kompileeritud artefaktid minimaalsesse pildisse ilma tarbetute failide ja ehitustööriistadeta.
Eelised:
- Lõpliku pildi suuruse vähendamine
- Turvalisuse tõstmine (vähem komponente lõplikus konteineris)
- Dockerfile'i puhtus ja lihtne haldamine
Näide:
# Ehitusetapp
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Lõplik pilt
FROM alpine:latest
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["myapp"]