Sobes.tech
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 alpine namiesto ubuntu.
  • 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 .dockerignore na 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.