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.

Shooting Star Docker

Docker selbst wurde erst im März vergangenen Jahres vom Unternehmen DotCloud Inc. als kleines Open-Source-Projekt gestartet. Der phänomenalen Erfolg von Docker machte es im Sommer 2013 erforderlich, Projekt und Firma einem professionelle geführten Management zu unterstellen. So leitet seit Juli 2013 der früher bei Gluster und Plaxo als CEO tätige Ben Golub die Weiterentwicklung. Ende letzten Jahres benannte sich DotCloud Inc. in Docker Inc. um.

Das neu entstandene Unternehmen kann und will sich mit dem Polster einer im Januar dieses Jahres erhaltenen Finanzspritze ausschließlich auf die Software selbst, sowie auf das darum aufzubauende Ökosystem konzentrieren, wie etwa den jetzt vorgestellten Dienst Docker-Hub. Im Detail soll das Geld laut CEO Ben Golub in das Projekt selbst, in den Ausbau der Community-Plattform und den Aufbau, sowie die Vermarktung von Dienstleistungen rund um Docker fließen. So bietet Docker ab sofort offiziell Unterstützung für Docker einsetzende Unternehmen. Diese umfasst auch eine System-Integrations-Initiative mit angegliederten Trainingsprogrammen. Neben kommerziellen Support plant das Unternehmen auch diverse Hosting-Angebote, wie die jüngst verkündeten Kooperationen mit Google oder Red Hat unter Beweis stellten. Ben Golub versicherte aber in Anbetracht der momentan zu verzeichnenden Kommerzialisierungsmaßnahmen, dass Docker auch in Zukunft kostenlos und quelloffen bleiben wird.

Der Code steht unter der Apache 2.0 Lizenz. Der Geldsegen brachte allerdings auch einige personelle Veränderungen. So wechselte der die abgeschlossene Finanzierungsrunde leitende Jerry Chen vom Investment-Unternehmen Greylock Partners in den Unternehmensvorstand von Docker. Chen war vor seinem Engagement bei Greylock Vice President of Cloud and Application Services bei VMware. Mit Jerry Murdock von Insight Venture Partners wechselte zudem ein weiterer Investor zum Management-Team und gehört jetzt den Beratungsausschuss von Docker an.

Zwischenstopp

Docker kann seit dem Launch im März 2013 auf über 14.000 offiziell mit Docker bearbeitete Apps verweisen. Bis heute liegt die Zahl der Downloads bei mehr als 2,5 Mio. Über 450 Beitragende haben bis heute in Form von über 8000 Commits an der Software mitgewirkt.

Die der aktuelle stabilen Version 1.0 voraus gegangene Release Candidate 0.11 vom Mai dieses Jahres, sowie die Version 0.10 vom hatten zur Vorbereitung des finalen Launches zum Ziel, die Zusammenarbeit von Docker mit Werkzeugen von Administratoren zu verbessern, etwa beim Stop-Verhalten oder der Signalbehandlung. Außerdem führte Docker mit der Version 0.10 TLS-Authentifikation, Systemd-Slices und Prüfsummen ein. Docker 0.11 unterstützt zudem erstmals auch SELinux, Host-Networking und enthält eine Hostnamen-basierte Autodiscovery-Funktion.

Der SELinux-Support geht auf Initiative von Red Hats SELinux-Guru Dan Walsh zurück. Mit dem neuen Host-Networking-Modus kann die Anwendung im Container direkt auf die Netzwerk-Schnittstelle des Host-Systems zugreifen. Ein Container im Host-Networking-Modus ist eine gewöhnlichen Docker-Sandbox, die jedoch ihren Netzwerk-Stack mit dem Host-System teilt, während im Normalfall im der Docker-Sandbox nur die Loopback-Schnittstelle und eine virtuelle Netzwerkkarte eth1 existieren. Letztere ist per Default mit einem Bridge-Device auf dem Host verbunden. Der neue Host-Networking-Modus (aktivierbar mir der Option (--net=host) ist deutlich schneller. Mit der neuen Funktionen "Link hostnames" können sich miteinander verlinkte Container gegenseitig anhand des Hostnames identifizieren.

So kann etwa ein Anwendungs-Frontend für eine Datenbank-Applikation mit Hilfe des Hostname auf eine in einem anderen Container laufende Datenbank zugreifen. Schon seit der Version 0.10 ist es der Zugriff auf die Docker-Remote-API zudem mit SSL-Zertifikaten absicherbar. Außerdem verfügte Docker 0.10 erstmals über ein Plugin für systemd. Darüber hinaus wird seit Docker 0.10 jede Docker-Version mit SHA256- und MD5-Prüfsummen ausgeliefert.