Sobes.tech
Junior — Middle

Aké prístupy umožňujú znížiť veľkosť konečného Docker obrazu?

sobes.tech AI

Odpoveď od AI

Na znižanje velikosti končne Docker slike uporabljajo se naslednji pristopi:

  • Uporaba minimalističnih osnovnih slik: na primer, alpine namesto ubuntu ali debian.
  • Večstopenjska gradnja (multi-stage builds): omogoča gradnjo aplikacije v eni sliki in kopiranje le potrebnih artefaktov v končno sliko.
  • Brisanje začasnih datotek in predpomnilnikov: čiščenje paketov, predpomnilnikov upravljalcev paketov, začasnih datotek po namestitvi.
  • Združevanje ukazov RUN: zmanjša število plasti slike.
  • Uporaba .dockerignore: izključuje nepotrebne datoteke iz konteksta gradnje.

Primer večstopenjske gradnje:

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

Ta pristop omogoča pridobitev kompaktne slike z le tistim, kar je potrebno za zagon aplikacije.