Container-Virtualisierung mit Docker

Container-Techniken wie Docker sind nicht neu

von - 16.03.2015
Wer schon länger im Bereich der IT tätig ist und sich dabei auch mit der einen oder anderen Linux-Distribution näher beschäftigt hat, wird schnell feststellen, dass diese Container-Technik nicht neu ist.
Docker Interactive Tutorial
Docker Schnupperkurs: Docker bietet auf seiner Webseite einen interaktiven Emulator samt Tutorial.
Administratoren nutzen schon seit vielen Jahren die Technik sogenannter Sandboxen, um Anwendungen isoliert von Produktivumgebungen zu verteilen und zu betreiben. Das Unix-Derivat FreeBSD stellte mit dem Befehl chroot eine der ersten Möglichkeiten bereit, eine solche Isolierung durch Veränderung des Root-Verzeichnisses zu ermöglichen.
Besser umgesetzt wurden diese Möglichkeiten dann mit FreeBSD Jails, das dem Anwender ein Sandboxing zur Verfügung stellt. Dabei hatte ein solches „Gefängnis“ dann zwar Zugriff auf dem System-Kernel, konnte aber ansonsten nur auf eine sehr begrenzte Untermenge der anderen Systemressourcen zugreifen. So kann eine solche Sandbox beispielsweise nur auf zuvor definierte und festgelegte IP-Adressen zugreifen. Auch das ehemalige Sun-Unix-Betriebssystem Solaris, das nun Oracle besitzt, kann mit seinen Zones mit einer ähnlichen Technik aufwarten.
Mit LXC (Linux Containers) steht eine Schnittstelle für den User-Space, eine Programmierschnittstelle (API - Application Programming Interface) und Software-Werkzeuge zur Erstellung und Verwaltung von Linux-Containern bereit, die auf der Webseite von linuxcontainers.org als „irgendetwas in der Mitte zwischen chroot und einer vollausgestatteten virtuellen Maschine“ charakterisiert werden. Alles rund um LXC steht als freie Software im Netz zur Verfügung.
Linux Container, eine freie Software die neben einer Schnittstelle für den User-Space auch eine Programmierschnittstelle und einfache Software-Werkzeuge für die Arbeit mit den Containern bereitstellt.
Eine standardisierte Schnittstelle zu den Grundfunktionen von Docker, die Docker Inc. zusammen mit Canonical (Ubuntu), Google, Red Hat und Parallels im März 2014 als Open-Source-Programm ins Leben gerufen hat.
Eine Sandbox-Technik, die auf dem Unix-Derivat FreeBSD eine Kapselung von Anwendungen mittels chroot-Umgebungen ermöglicht.
Die eigene Container-Technik des Anbieters von CoreOS, einem sehr minimalistischem Linux-Derivat. Dieser Ansatz soll nach Meinung einiger Marktbeobachter einfacher sein als Docker, ist aber noch in der Entwicklung begriffen.
Eine Container-Virtualisierung, die von der Firma Parallels auch als Basis der eigenen Parallels Cloud Server eingesetzt wird.
(Let Me Contain That For You) Open-Source-Version von Googles eigenem Container-Stack, der ebenfalls Anwendungs-Container unter Linux einsetzt und auch bei den Google-Diensten zum Einsatz kommt.
Lösungen wie Docker setzten auf LXC auf und unterstützen die entsprechenden Schnittstellen und Container und automatisieren die Erstellung und Verteilung der Container. James Bottemley, CTO Server Virtualization bei Parallels, hat es in einem seiner zahlreichen Vorträge auf den Punkt gebracht, in dem er feststellte, dass es Docker nicht nur einfacher macht, eine Anwendung in einem Container bereitzustellen, sondern dass es diese Technik dem IT-Profi auch erlaubt, eine Anwendung in einem Container auf dem Notebook zu erstellen und diesen dann in der Cloud auszurollen und zu verwenden. Damit können Systemprofis und Entwickler also im Prinzip so etwas wie eine sofortige Portabilität ihrer Anwendungen erreichen.
Verwandte Themen