Senior
Millised praktikad on olemas Docker-pildi suuruse vähendamiseks?
sobes.tech AI
Vastus AI-lt
Selleks, et Docker-pildi suurust vähendada, rakendatakse mitmeid praktikaid:
- Minimalistlike baasipiltide kasutamine, näiteks
alpineasemelubuntu. - Mitmeastmeline ehitus (multi-stage builds), kus esimestes etappides ehitatakse rakendus ning lõpppildil jääb alles ainult minimaalne jookskkeskkond koos kompileeritud binaariga.
- Cache'ide ja ajutiste failide puhastamine pärast sõltuvuste installimist Dockerfile'is.
- RUN käskude ühendamine, et vähendada kihte.
- Kasutades
.dockerignore, et välistada ebavajalikud failid ehituse kontekstist.
Näide mitmeastmelisest Dockerfile'ist Go jaoks:
# Etapp 1: Ehitus
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Etapp 2: Minimaalne jookskkeskkond
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]
See lähenemine võimaldab saada kompaktse pildi minimaalse failide kogumiga.