Docker

Docker ist eine Plattform zur Containerisierung von Anwendungen, mit der sich Software samt aller Abhängigkeiten in portable, isolierte Einheiten verpacken lässt, die auf jedem System identisch laufen.

Kurz erklärt

Docker verpackt eine Anwendung zusammen mit allen benötigten Bibliotheken, Abhängigkeiten und Konfigurationen in ein sogenanntes Image. Aus diesem Image lässt sich jederzeit ein Container starten - eine isolierte, leichtgewichtige Laufzeitumgebung, die sich unabhängig vom zugrunde liegenden Betriebssystem des Hosts identisch verhält. Anders als eine klassische virtuelle Maschine teilt sich ein Container den Betriebssystem-Kernel mit dem Host, was ihn deutlich ressourcenschonender macht.

Beispiel

Ein Entwicklerteam kann eine Anwendung mit einer bestimmten Programmiersprachversion, Datenbank und Konfiguration in ein Docker-Image packen. Jedes Teammitglied und jeder Server - von der lokalen Entwicklungsumgebung bis zur Produktion - startet daraus einen identischen Container, wodurch das klassische Problem “bei mir funktioniert es” weitgehend entfällt.

Warum ist das relevant?

Docker hat die Art, wie Software entwickelt, getestet und ausgeliefert wird, grundlegend verändert: Anwendungen lassen sich reproduzierbar bauen, einfach zwischen Umgebungen verschieben und in modernen CI/CD-Pipelines automatisiert testen und deployen. Es bildet zudem die technische Grundlage für Orchestrierungswerkzeuge wie Kubernetes, die viele Container im großen Maßstab verwalten.

Häufige Missverständnisse

Docker ist keine virtuelle Maschine und simuliert keine eigene Hardware - Container sind leichtgewichtiger, weil sie sich den Kernel des Host-Betriebssystems teilen, statt ein eigenes Betriebssystem mitzubringen. Auch ersetzt Docker allein keine Orchestrierung: Für den Betrieb vieler Container über mehrere Server hinweg, inklusive automatischer Skalierung und Ausfallsicherheit, wird zusätzlich ein Werkzeug wie Kubernetes benötigt.

Weiterführende Inhalte