Senior
Welche Praktiken gibt es, um die Größe des Docker-Images zu verringern?
sobes.tech KI
Antwort von AI
Um die Größe des Docker-Images zu reduzieren, werden mehrere Praktiken angewendet:
- Verwendung minimalistischer Basisbilder, z.B.
alpineanstelle vonubuntu. - Mehrstufiger Aufbau (multi-stage builds), bei dem in den ersten Phasen die Anwendung gebaut wird und im finalen Image nur noch die minimale Laufzeitumgebung mit dem kompilierten Binärdatei verbleibt.
- Bereinigung von Caches und temporären Dateien nach der Installation von Abhängigkeiten im Dockerfile.
- Zusammenfassung von RUN-Befehlen, um die Anzahl der Schichten zu verringern.
- Verwendung von
.dockerignore, um unnötige Dateien vom Build-Kontext auszuschließen.
Beispiel eines Multi-Stage-Dockerfiles für Go:
# Stage 1: Build
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Stage 2: Minimale Laufzeit
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]
Dieser Ansatz ermöglicht es, ein kompaktes Image mit minimaler Dateiausstattung zu erstellen.