Senior
Aké praktiky existujú na zníženie veľkosti Docker obrazu?
sobes.tech AI
Odpoveď od AI
Na zníženie veľkosti Docker obrazu sa používajú niektoré praktiky:
- Použitie minimalistických základných obrazov, napríklad
alpinenamiestoubuntu. - Viacstupňová stavba (multi-stage builds), kde sa v prvých etapách zostaví aplikácia a v konečnom obraze zostáva iba minimálne runtime s zostaveným binárnym súborom.
- Čistenie cache a dočasných súborov po inštalácii závislostí v Dockerfile.
- Zlúčenie príkazov RUN na zníženie počtu vrstiev.
- Použitie
.dockerignorena vylúčenie nepotrebných súborov z kontextu zostavovania.
Príklad viacstupňového Dockerfile pre Go:
# Fáza 1: Zostavenie
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Fáza 2: Minimálne runtime
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]
Tento prístup umožňuje získať kompaktný obraz s minimálnym súborovým setom.