Docker ist eine Open Source Virtualisierungs-Software. Das Hauptmerkmal ist, dass die Virtualisierung nicht wie üblich über eine Virtuelle Maschine abläuft, sondern über sogenannte Container. Docker wurde im März 2013 als Open Source Software veröffentlicht, nachdem es als ein internes Projekt unter dotCloud, einem „platform-as-a-service“ Anbieter entwickelt wurde.
Integration ist ein wichtiger Punkt für Docker, weshalb es problemlos in verschiedenste Infrastruktur-Tools integriert werden kann. AWS, Ansible, CFEngine, Chef und Google Cloud Platform sind nur ein paar dieser Beispiele. Dockers bei weitem wichtigste Komponente ist die Anwendung von Containern. Anstatt Applikationen, wie klassische Virtualisierungssoftware, auf einer voll eingerichteten, eigenständigen Virtuellen Maschine einzusetzen, verpackt Docker die Applikation zusammen mit allen relevanten systembezogenen Daten des jeweiligen Betriebssystems in einem Container. Dies ermöglicht der Applikation, alle benötigten System-, Konfigurations-, und andere Dateien zu beziehen, ohne auf eine eigene, aktive Virtuelle Maschine zurückzugreifen. Neben einem massgeblichen Beitrag zur Hochverfügbarkeit unterstützt dieses Verfahren das Host-System direkt, da im Vergleich zu konventioneller Virtualisierung ein Minimum an Ressourcen verbraucht wird.
Ähnlich wie Vagrant unterstützt Docker Automatisierte Virtualisierung, Ansible, Puppet etc.