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,
alpinenamestoubuntualidebian. - 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.