Was ist Docker?
Docker ist eine kostenlose Software, die Container-Virtualisierung verwendet, um Anwendungen zu isolieren.
Docker vereinfacht die Bereitstellungen von Anwendungen, da ein Container mit allen benötigten Paketen einfach als Datei übertragen und installiert werden kann. Container sorgen für die Trennung und Verwaltung von Ressourcen, die auf einem Computer verwendet werden. Dazu gehören laut den Entwicklern: Code, Laufzeitmodule, Systemtools, Systembibliotheken – alles, was auf einem Rechner installiert werden kann.
Wie arbeitet, funktioniert Docker?
Docker implementiert Container basierend auf Linux-Technologien wie Cgroups und Namespaces.
Während zunächst die LXC-Schnittstelle zum Linux-Kernel genutzt wurde, haben die Docker-Entwickler inzwischen eine eigene Programmierschnittstelle namens libcontainer entwickelt, die auch für andere Projekte zur Verfügung steht.
Als Speicher-Backend nutzt Docker das Overlay-Dateisystem aufs, seit Version 0.8 aber auch btrfs.
Im Prinzip wurde Docker für die Linux-Virtualisierung konzipiert. Docker kann jedoch auch Hyper-V oder VirtualBox unter Windows und HyperKit oder VirtualBox unter macOS verwenden. Da es nicht völlig sicher ist, Ressourcen allein mit den zugrunde liegenden Technologien von Docker wie Namespaces und Cgroups zu trennen, hat Red Hat die Unterstützung für die sicherheitsrelevante Kernel-Erweiterung SELinux implementiert, die Container zusätzlich auf Hostsystemebene schützen kann.