Docker ermöglicht die Container Virtualisierung von Anwendungen, indem diese samt ihrer Abhängigkeiten in Images abgelegt werden, welche sich zwischen Systemen bewegen lassen. In einem Docker Container kann die verpackte Anwendung mittels einer speziellen Engine ausgeführt werden.
Das Ziel der Container ist die Fähigkeit, mehrere Prozesse und Apps getrennt voneinander betreiben zu können. Das ermöglicht die bessere Nutzung der Infrastruktur und die Erhaltung der Sicherheit, welche eine Folge der Arbeit mit getrennten Systemen ist.
Der Fokus von Docker Containern im Vergleich mit einer virtuellen Maschine ist die Isolierung von laufenden Anwendungen, wobei Docker jedem Container gewisse Betriebssystem- und Hardware Ressourcen zuweist. Das bedeutet, dass ein Docker Container nur tatsächlich benötigte Informationen enthält.