t3n News Entwicklung

Docker: Das steckt hinter der Technologie, die uns die Cloud 2.0 bescheren könnte

Docker: Das steckt hinter der Technologie, die uns die Cloud 2.0 bescheren könnte

Wäre es nicht schön Applikationen zu entwickeln die auf jeder funktionieren würden, egal ob auf einer virtuellen Maschine oder einem PaaS? macht das möglich und in diesem Artikel zeigen wir dir wieso.

Docker: Das steckt hinter der Technologie, die uns die Cloud 2.0 bescheren könnte
Docker ist ein Container für eure Apps. (Grafik: Docker)

Als Kind eines PaaS-Services namens dotCloud geboren, bietet Docker die Möglichkeit, Software innheralb und für Software-Container auf einer Server-Virtualisierung zu entwickeln, wobei die Docker-Container völlig unabhängig von Betriebssystemen oder Infrastruktur arbeiten. Ihr schreibt eine Applikation und packt sie in einen Docker-Container – unter welchen Bedingungen oder wo dieser Container dann zum Einsatz kommt ist für euch als Entwickler sekundär: Docker ist „platform-“ sowie „hardware-agnostic.“

Da sich weniger um das „Runderherum“ gekümmert werden muss, kann der Softwareentwickler mehr Zeit dafür aufwenden, um die Qualität der Software selbst zu verbessern – zumindest in der Theorie.

Docker in a Nutshell

Um euch einen Überblick zu ermöglichen, versuche ich Docker kurz und knapp darzustellen. Für tiefere Einblicke könnt ihr die Docker-Dokumentation nutzen.

Wenn man von Docker hört, wird wahrscheinlich an eine virtuelle Maschine gedacht – Docker ist aber mehr. Docker beziehungsweise der Docker-Container setzt auf einen „Linux-Container“ (LXC) auf, und erweitert diesen mit einer umfangreichen API. Dadurch ist Docker in der Lage, mit Software wie zum Beispiel Chef, Jenkins, Salt, Vagrant und Ansible zu interagieren.

docker
Docker im Vergleich zu klassischen Virtualisierung. (Grafik: Docker)

Verschiedene Applikationen können sich dieselben „Dependencies“ teilen und sparen somit Speicherplatz, da innerhalb von Docker-Containern auch alternative Versionen einer Applikation gespeichert werden können. Dabei wird dann nicht zweimal die Applikation gespeichert, sondern nur einmal die Applikation selbst und die dazugehörende Veränderung zur Ursprungs-Applikation. Somit bleibt der Docker-Container sehr klein.

Angenommen, ihr habt ein Container-Image mit der Größe von einem Gigabyte – bei einer Virtualisierung mit einer klassishen virtuellen Maschine hättet ihr den Speicherbedarf von einem Gigabyte mal der benötigten virtuellen Maschinenen. Mit LXC und dem Docker-Dateisystem könnt ihr hunderte Docker-Container in etwas mehr als einem Gigabyte laufen lassen – vorausgesetzt ihr nutzt dasselbe Betriebssystem.

Möglich ist das durch das Ressourcenmanagement. Eine klassische virtuelle Maschine bekommt gewisse Ressourcen zugeteilt – Docker-Container sind in der Lage, die gesamte Ressource untereinander und unabhängig aufzuteilen, wie und wo sie gerade benötigt wird.

Ist Docker quasi Cloud2.0?

Wie in diesem Artikel zu lesen ist, teilen der Suchmaschinen-Gigant Google, Amazon und Red Hat die Idee und Vision hinter Docker, nämlich Applikationen schneller, mit höherer Qualität und unabhängig entwickeln zu können.

Docker ist auf jeden Fall einen Blick wert, allerdings sollte man Docker nicht als Lego-Bausatz des Software-Engineerings verstehen, der das Auseinandersetzen mit Inftrastruktur-Fragen oder Datenbank-Management außen vor lässt.

Docker ist nun in der ersten Version erschienen und mit der 1.0-Version möchte das Entwicklerteam der Docker Inc. ihr Produkt als offene Plattform etablieren. Docker setzt sich aus der Docker-Engine, der Container-Runtime und dem Paketierungswerkzeugen sowie der Cloud-basierten Kollaborationsplattform „Docker Hub“ zusammen.

Mit dieser Veröffentlichung wird unter anderem die Build-Anweisung COPY, welche Dateien und Ordner aus dem Build-Kontext kopiert, eingeführt. Mit der Docker-Engine können laufende Docker-Container jetzt gestoppt und wieder gestartet werden, was eine effizientere Ressourcennutzung ermöglicht. Darüber hinaus wird Docker nun von einer vollständigen Dokumentation, Trainings und Dienstleistungen der Docker Inc. begleitet, was auch einen Einsatz im professionellen Raum begünstigt.

Ihr könnt euch Docker auf GitHub herunterladen. Hier findet ihr ein Tutorial wie man Docker in einen „Continious-Integration-Workflow“ einbinden kann.

Habt ihr Docker schon im Einsatz?

Newsletter

Bleibe immer up-to-date. Sichere dir deinen Wissensvorsprung!

Vorheriger Artikel Zurück zur Startseite Nächster Artikel
Eine Antwort
  1. von Snuffy_ am 10.06.2014 (20:37 Uhr)

    Werde ich auf jeden Fall im Blick behalten...

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema Docker
Dreamforce 2015: Tech-Elite stellt die Zukunft des Cloud-Computing vor
Dreamforce 2015: Tech-Elite stellt die Zukunft des Cloud-Computing vor

Über 150.000 Besucher, 1.600 Sessions, 400 Aussteller, ein zentrales Thema: Cloud-Computing. Auf der Dreamforce in San Francisco, der jährlichen Hausmesse des SaaS-Pioniers Salesforce, zeigten … » weiterlesen

German Angst: Deutschen Unternehmen ist Cloud-Computing zu unsicher
German Angst: Deutschen Unternehmen ist Cloud-Computing zu unsicher

Der Großteil der deutschen Unternehmen schreckt vor dem Cloud-Computing zurück – zu unsicher. Eine Aufklärungskampagne soll den Firmen die Angst vor der digitalen Wolke nehmen. » weiterlesen

Cloud Computing: IBM fördert IT-Infrastruktur von Startups mit bis zu 120.000 Dollar
Cloud Computing: IBM fördert IT-Infrastruktur von Startups mit bis zu 120.000 Dollar

Cloud-Services im Wert von bis zu 120.000 US-Dollar will IBM ausgewählten Startups zur Verfügung stellen, damit diese ihre IT-Infrastrukturen auf aktuelle Anforderungen des Cloud Computing anpassen … » weiterlesen

Alle Hefte Jetzt abonnieren – für nur 35 €

Kennst Du schon unser t3n Magazin?