Sobes.tech
Junior — Middle

Millised lähenemised võimaldavad vähendada lõpliku Docker-pildi mahtu?

sobes.tech AI

Vastus AI-lt

Selleks, et Docker-i lõpppildi mahtu vähendada, rakendatakse järgmisi lähenemisviise:

  • Minimalistlike baaspiltide kasutamine: näiteks alpine asemel ubuntu või debian.
  • Mitmeastmelised ehitused (multi-stage builds): võimaldab ehitada rakenduse ühes pildis ja kopeerida ainult vajalikud artefaktid lõpppildile.
  • Ajutiste failide ja vahemälu eemaldamine: puhastada paketid, paketihaldurite vahemälu, ajutised failid pärast installimist.
  • RUN käskude ühendamine: vähendab pildi kihte.
  • .dockerignore kasutamine: välistab ebavajalikud failid ehituse kontekstist.

Näide mitmeastmelisest ehitusest:

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

FROM alpine
COPY --from=builder /app/myapp /myapp
CMD ["/myapp"]

See lähenemine võimaldab saada kompaktse pildi, mis sisaldab ainult rakenduse käivitamiseks vajalikku komponenti.