Zum Inhalt springen
Zurück zu: GitOps mit ArgoCD: Kubernetes-Infrastruktur deklarativ verwalten
DevOps & CI/CD 6 Min. Lesezeit

Container-Images optimieren: Von 1.2 GB zu 45 MB

Große Docker-Images verlangsamen CI/CD-Pipelines und Deployments. Mit Multi-Stage Builds und Best Practices reduzieren Sie die Image-Größe drastisch.

devRocks Engineering · 08. Februar 2026 · Aktualisiert: 31. März 2026
Docker CI/CD Container Performance
Container-Images optimieren: Von 1.2 GB zu 45 MB

Warum Image-Größe wichtig ist

Ein 1.2 GB Docker-Image bedeutet: langsamere Builds, langsamere Pushes zur Registry, langsamere Pulls auf den Nodes und eine größere Angriffsfläche. Kleinere Images sind schneller und sicherer.

Multi-Stage Builds

Der wichtigste Hebel: Trennen Sie Build-Dependencies von Runtime-Dependencies. In der Build-Stage installieren Sie Compiler, Build-Tools und Dev-Dependencies. In die finale Stage kopieren Sie nur die kompilierten Artefakte.

Base Image Auswahl

  • Alpine: ~5 MB Base Image, ideal für Go- und Rust-Anwendungen. Vorsicht bei PHP und Python — musl vs. glibc kann Kompatibilitätsprobleme verursachen.
  • Distroless: Google's Distroless Images enthalten nur die Runtime — keine Shell, keine Package Manager. Maximale Sicherheit.
  • Debian Slim: Guter Kompromiss aus Kompatibilität und Größe für PHP und Node.js Anwendungen.

Layer-Optimierung

  • Reihenfolge: Selten ändernde Layers (OS, Dependencies) vor häufig ändernden Layers (App-Code) — maximale Cache-Nutzung.
  • .dockerignore: Schließen Sie node_modules, .git, Tests und Dokumentation aus dem Build Context aus.
  • Kombinieren: Mehrere RUN-Befehle in einem Layer zusammenfassen, um Zwischenlayer zu vermeiden.

Ergebnis

Durch diese Techniken haben wir in einem Kundenprojekt die Image-Größe von 1.2 GB auf 45 MB reduziert. Die Build-Zeit sank von 8 auf 2 Minuten, und Deployments sind dreimal schneller.

Fragen zu diesem Thema?

Wir beraten Sie gerne zu den in diesem Artikel beschriebenen Technologien und Lösungen.

Kontakt aufnehmen

Seit über 25 Jahren realisieren wir Engineering-Projekte für Mittelstand und Enterprise.

Weitere Artikel aus „DevOps & CI/CD“

Häufig gestellte Fragen

Die Größe von Container-Images beeinflusst die Geschwindigkeit von Builds, Pushes und Pulls erheblich. Kleinere Images sorgen für schnellere Abläufe in der CI/CD-Pipeline und reduzieren zudem die Angriffsfläche, was die Sicherheit erhöht.
Multi-Stage Builds ermöglichen es, Build-Dependencies von Runtime-Dependencies zu trennen. Dies führt dazu, dass nur die notwendigen, bereits kompilierten Artefakte in das finale Image übernommen werden, was die Gesamtgröße reduziert.
Für Go-Anwendungen ist das Alpine-Image empfehlenswert, da es nur etwa 5 MB groß ist. Es bietet eine leichte und effiziente Grundlage, ist jedoch auf die Kompatibilität zu beachten, da es bei bestimmten Anwendungen wie PHP oder Python zu Problemen kommen kann.
Die Layer-Optimierung wird erzielt, indem selten ändernde Layers wie das Betriebssystem oder Dependencies ganz oben und häufig ändernde Layers wie der Anwendungscode weiter unten angeordnet werden. Außerdem sollten .dockerignore-Dateien verwendet werden, um unnötige Dateien vom Build auszuschließen.
Durch die Reduzierung der Container-Image-Größe profitieren Sie von schnelleren Build- und Deployment-Zeiten sowie einer effizienteren Nutzung Ihrer Infrastruktur. In einem Beispielprojekt konnten wir die Build-Zeit von 8 auf 2 Minuten reduzieren und die Deployments dreimal schneller realisieren.

Keine Antwort gefunden?

Sprechen Sie uns an