Docker – Was ist eigentlich Docker?

Seit dem Jahr 2014 hört und liest man immer wieder etwas über Docker. Aber was ist eigentlich damit gemeint, wenn es heißt „Build, Ship and Run“?

dockerIm März 2013 stellte der Chef Architekt von dotCloud Solomon Hykes zum ersten mal das Projekt Docker unter den damaligen Namen „The Future of Linux Containers“ auf der PyCon vor. Seitdem wuchs der Hype um die Container-Technik.

Docker ist ein OpenSource Binärprogramm, welches sowohl als Client und als Deamon arbeitet. Ziel ist es eine komplette Betriebssystemvirtualisierung inclusive Anwendung isoliert von dem Hostbetriebssystem als Container zu betreiben. Die Besonderheit liegt darin, dass dieses Betriebssystem in dem Container nur die wichtigsten Pakete beinhaltet, die zum laufen der Anwendung von Nöten ist. Daher ist dieser Container viel schlanker als zum Beispiel eine VM, welche ein komplettes Betriebssystem zum laufen benötigt. Die Docker Binaries sind bis jetzt ausschließlich für Linux ausgerichtet. Entsprechende Versionen für Windows und MacOS benötigen daher die Hilfe von VirtualBox.

Wie funktioniert diese Container-Technik eigentlich?

Als ersten Schritt muss ein sogenanntes Image (portable Abbildung des Containers), gebaut werden (Build). Hier gibt es verschiedene Möglichkeiten. Zum einen kann man auf einen vorgefertigten Image aus der Community zugreifen und zum anderen kann man sich das Image selber über ein entsprechendes Dockerfile bauen. Das Dockerfile ist ein Textfile indem alle wichtigen Schritte für die Erstellung des Images enthalten sind.

Ist das Image gebaut, kann man dieses entweder auf dem selben Host zum laufen bringen , oder man exportiert dieses (Ship) und kopiert es zum Beispiel auf einen anderen Host und bringt es dort zum laufen.

Ist das Image einmal vorhanden, kann man dieses beliebig oft starten (Run). Bei jedem Start entsteht ein unabhängiger Container der nur über definierte Regeln mit seiner Ausenwelt kommunizieren kann.

Was sind eigentlich die Vorteile von Docker?

  • Docker Images/Container sind viel kleiner, da nur die wichtigsten Pakete, die zum laufen der Anwendung benötigt werden, enthalten sind.
  • Einige Anwenungen lassen sich mit Hilfe einer aktiven Internetverbindung leichter installieren. Da viele Umgebungen im Rechenzentrum isoliert vom Internet betrieben werden, kann man die fertigen Images in diesen Umgebungen importieren.
  • Erleichterte Skalierbarkeit von Anwendungen. Man kann in wenigen Sekunden viele Container aus dem selben Image starten.

Praktische Beispiele, wie Installationsanleitungen, Beispiel Images und weitere Tools im Docker-Universum, findet man unter der Rubrik Docker.

Quellen: iX, Ausgabe 4 April 2016

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.