Kurz erklärt
Eine Plattform zum Verpacken von Anwendungen in isolierte, portable Container.
Genauer
Ein Container bündelt eine Anwendung mit allen Abhängigkeiten (Bibliotheken, Laufzeitumgebung) in einem Paket, das auf jedem System mit Docker identisch läuft — löst das "bei mir läuft's aber"-Problem. Anders als eine virtuelle Maschine teilen sich Container den Kernel des Host-Betriebssystems, was sie deutlich leichtgewichtiger macht.