Container-Virtualisierung

Sandboxing mit Docker - Anwendungen in Container packen

28.07.2014
Von 
Thomas Drilling ist als freier IT-Journalist und IT-Consultant tätig. Seine Spezialgebiete sind Linux und Open-Source-Software.

Ohne LXC

Seit der Version 0.9 vom 2014 funktioniert Docker zudem unabhängig von LXC, die Container-Technologie auf der die Software ursprünglich im Kern basierte. Die Unabhängigkeit von LXC haben die Docker-Entwickler mit Hilfe eines integrierten Treiber (Execution Driver) realisiert, der auf der in Go geschriebenen libcontainer-Bibliothek aufsetzt. Die erlaubt die Kommunikation zwischen Docker und der Container-API im Kernel, etwa zum selbstständigen Bearbeiten von Namespaces, Cgroups, AppArmor-Profilen, Netzwerkschnittstellen oder Firewall-Regeln und scheint so stabil zu sein, dass sie seit Docker 0.9 als Standard-Verfahren zum Einsatz kommt. Docker unterstützt LXC optional aber nach wie vor.

Docker 1.0 bringt übrigens neben den Stabilisierung der APIS weitere neue Funktionen mit. Ein neuer Befehl Copy ermöglicht etwa das Kopieren von Dateien und Verzeichnissen direkt aus der Build-Umgebung. Auch beim Device Mapper gab es einige Verbesserungen. Zudem unterstützt Docker jetzt XFS als Dateisystem. Darüber können Anwender die Docker Engine jetzt pausieren. Damit ist es möglich, vorübergehend Rechenzeit für andere Aufgaben freizugeben. Zum Launch von Docker 1.0 hat die Docker Inc. zudem bei der IANA (Internet Assigned Numbers Authority) zwei offizielle Ports für Docker 2375 (HTTP) und 2376 (2376) registriert.

Docker und Red Hat

Das rege Interesse an Docker ist auch den größeren Unternehmen der IT-Branche nicht verborgen geblieben. Open-Source-Primus Red Hat, stets eines der regen Unternehmen, wenn es um das Erkennen und Aufgreifen neues Trend geht, hat die Zusammenarbeit mit Docker zur Chefsache gemacht.

So kooperieren Red Hat und Docker schon seit September letzten Jahres, unter anderem um Docker in Red Hats Platform-as-a-Service-Angebot OpenShift zu integrieren. Zudem hat Red Hat auf dem ebenfalls im April in San Francisco über die Bühne gegangenen Red Hat Summit 2014 das Project Atomic vorgestellt, mit dem Red Hat Virtualisierungstechniken weiter vorantreiben will. Atomic ist ein Gemeinschaftsprojekt mit Docker das die Entwicklung eines extrem sicheren Betriebssystem unter der Bezeichnung "Red Hat Enterprise Linux Atomic Host" zum Ziel hat, deren Anwendungen auf Docker-Containern basieren. Dabei sollen RHEL, CentOS und Fedora als Technologie- und Komponenten-Lieferanten dienen.

Die beim Fedora-Projekt beheimatete Atomic-Initiative bietet bereits beinahe tägliche neue Builds an, gilt aber momentan noch als experimentell. Das Besondere an Red Hat Enterprise Linux Atomic Host liegt in der Art und Weise, wie das System die Paketbasis und die Anwendungen in den Containern auf dem Laufenden hält, was die Entwickler mit der Bezeichnung "atomic" andeuten. Während herkömmliche Betriebssysteme Pakete stets nacheinander unter Berücksichtigung der jeweiligen Abhängigkeiten aktualisieren müssen, kann das neue Betriebssystem theoretisch stets sämtliche anstehenden Aktualisierungen in einem Durchgang einspielen, wozu ein neues Werkzeug RPM-OSTree zum Einsatz kommt, ein Tool das die Entwickler als Zwitter aus Paketverwalter und Disk-Imager bezeichnen.