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
alpinein plaats vanubuntu. - 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
.dockerignoreom 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.