Docker
Container-Plattform – bündelt Anwendung und Abhängigkeiten in reproduzierbare, portable Einheiten.
Offizielle Quelle: docs.docker.com
Überblick
Docker ist eine Plattform zur Containerisierung von Anwendungen. Ein Container bündelt den Anwendungscode mit allen Abhängigkeiten in eine isolierte, portable Einheit, die auf jeder kompatiblen Umgebung gleich läuft. Grundlage sind Kernfunktionen des Linux-Kernels wie Namespaces und cgroups.
Typische Einsatzgebiete
Docker wird genutzt, um Dienste reproduzierbar zu paketieren und zu betreiben – von der lokalen Entwicklung bis zur Produktion. Mit Compose lassen sich mehrere zusammengehörige Container (etwa Web-Anwendung, Datenbank und Reverse Proxy) als ein Verbund definieren, der gemeinsam gestartet, vernetzt und verwaltet wird.
Stärken
- Reproduzierbarkeit: dieselbe Umgebung lokal, im Test und in Produktion – „läuft bei mir” gilt überall.
- Isolation: Dienste laufen voneinander getrennt; interne Netzwerke trennen öffentlich erreichbare von rein internen Komponenten.
- Effizienz: Container sind deutlich leichtgewichtiger als vollwertige virtuelle Maschinen und starten in Sekunden.
- Deklarative Konfiguration: der Soll-Zustand wird in Dateien beschrieben und ist damit versionierbar und nachvollziehbar.
Grenzen und Abwägungen
Containerisierung führt eine zusätzliche Abstraktionsebene ein, die verstanden und gepflegt werden will – etwa beim Umgang mit persistenten Daten (Volumes), beim Netzwerk und bei Sicherheitsaspekten. Auf Systemen mit verschärften Sicherheitsrichtlinien (z. B. SELinux) sind zusätzliche Einstellungen zu beachten.
Einordnung
Docker ist eine naheliegende Grundlage, wenn Anwendungen reproduzierbar, isoliert und portabel betrieben werden sollen – besonders im Zusammenspiel mehrerer Dienste, die als Verbund zusammenarbeiten.