Sobes.tech
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. alpine anstelle von ubuntu.
  • 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.