Open-Source-Software Docker

Kaum ein Produkt hat die Vorgehensweise des Software-Deployments und -Betriebs in so kurzer Zeit so grundlegend verändert wie das schlanke Tool Docker – und dabei ist Docker erst 5 Jahre alt. Ein großer Treiber der Verbreitung ist die DevOps und Microservice-Bewegung, die mit Docker die perfekte Basis geliefert bekommen haben.

Die Open-Source-Software Docker bietet die Vorteile der Rechner-Vitalisierung ohne mehrere Betriebssysteme mehrfach auf der Platte und im Speicher halten zu müssen. Das wird dadurch erreicht, dass ein Docker-Container (das Gegenstück zur VM) eine gekapselte Umgebung im laufenden Linux-Betriebssystem darstellt. Der Container teilt sich somit den Speicher und den Kernel mit den anderen Programmen. Der Docker-Container ist aber so gekapselt, dass er aus seiner Sicht alleine läuft.

Was ist 'Docker'?

Docker gibt die Möglichkeit, Anwendungen in sogenannten ’Containern‘ auszuführen. Diese Container können aufeinander aufbauen und miteinander kommunizieren. Ein Container ist dabei eine abgeschottete Umgebung auf einem laufenden Betriebssystem. Beispiele für diese Anwendungen wären zum Beispiel ein Apache Server oder eine ORACLE Datenbank.

Der Unterschied zu normalen virtuellen Maschinen liegt darin, dass nicht jeder Container ein komplettes Betriebssystem – zum Beispiel Oracle Enterprise Linux – mitbringen muss, sondern nur die wichtigen Daten für die Anwendung enthält.

Sollte der Webserver vom Datenbankserver getrennt werden, müssten also zwei komplette virtuelle Maschinen inklusive Betriebssystem gestartet werden. Docker sind einfach zwei unabhängige Container, die die jeweiligen Server starten.

In der Webentwicklung bringt das einen entscheidenden Vorteil: Die Serverumgebung, auf der später die Webanwendung laufen wird, kann auf dem eigenen Rechner nachbildet werden – egal ob dieser mit Windows, Linux oder OS X läuft. Kompatibilitätsprobleme gehören damit also der Vergangenheit an.

Die Grundlage für einen Docker Container ist ein Docker Image. Das Image wird typischerweise über Scripte generiert, kann aber auch aus einem Container erstellt werden, auf dem von Hand Software installiert und konfiguriert wird. Diese Images können ganz einfach an Teamkollegen weitergegeben werden, damit alle am selben Strang ziehen und auf derselben Umgebung entwickeln. Dazu werden die Images in Registries hinterlegt. Diese können firmenintern sein.

Es gibt auch öffentliche, wie den Docker HUB, über den unzählige vorgefertigte Images liegen. Dazu gehören auch die Oracle Datenbank oder der Weblogic-Server.

Wir beraten Sie gerne