Sobes.tech
Senior

Welke praktijken bestaan er om de grootte van de Docker-afbeelding te verkleinen?

sobes.tech AI

Antwoord van AI

Om de grootte van de Docker-afbeelding te verkleinen, worden verschillende praktijken toegepast:

  • Gebruik van minimalistische basisafbeeldingen, bijvoorbeeld alpine in plaats van ubuntu.
  • Multi-stage builds, waarbij in de eerste fasen de applicatie wordt gebouwd en in de uiteindelijke afbeelding alleen de minimale runtime met de gebouwde binaire blijft.
  • Opschonen van caches en tijdelijke bestanden na het installeren van afhankelijkheden binnen de Dockerfile.
  • Combineren van RUN-commando's om het aantal lagen te verminderen.
  • Gebruik van .dockerignore om onnodige bestanden uit de buildcontext uit te sluiten.

Voorbeeld van een multi-stage Dockerfile voor Go:

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

# Stage 2: Minimale runtime
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]

Deze aanpak maakt het mogelijk om een compacte afbeelding te verkrijgen met een minimale set bestanden.