Docker©

Docker© ist eine Open-Source-Software, welche das Deployment von Anwendungen in Container-Form ermöglicht. Man kann mit Docker© mehrere Container simultan auf demselben Host ausführen.

Docker©-Container vs. virtuelle Maschine

Virtuelle Maschinen enthalten von der simulierten Hardware über das Betriebssystem hin zu den installierten Programmen alles, was auch einen physischen Server ausmacht. Dadurch verbrauchen sie viel Speicherplatz und Ressourcen. Docker©-Container hingegen enthalten nur Teile des Betriebssystems (i.d.R. eine leichtgewichtige Linux-Distribution) und teilen sich den Linux-Kernel des Hosts mit den anderen Containern. Neben der Anwendung an sich und den benötigten Frameworks enthält ein Docker©-Container keine weitere Software. Dadurch sind Docker©-Container deutlich ressourcenschonender als virtuelle Maschinen.

Docker© Engine

Ermöglicht wird die effiziente Containerisierung durch die Docker© Engine, welche die Schnittstelle zwischen den Ressourcen des Hosts und den laufenden Containern herstellt. Sie ist damit die unabdingbare Voraussetzung für die Nutzung von Docker© auf einem System. Dank Virtualisierung ist es möglich, die ursprünglich für Linux-Systeme entwickelte Docker Engine auch auf anderen Betriebssystemen wie Windows zu nutzen.

Unabhängig und ressourcenschonend

Docker©-Container werden auf Grundlage von Docker©-Images erstellt und können auf nahezu jedem Betriebssystem genutzt werden. Sie sind von ihrer Umgebung losgelöst, da sie mit der enthaltenen Applikation und den benötigten Bibliotheken über alles verfügen, was zum Ausführen benötigt wird. Auf diese Weise wird sichergestellt, dass Docker©-Container unabhängig und funktionsfähig sind. Dies hat drei große Vorteile:

  1. Die inhärente Sicherheit ist auf einem hohen Niveau, da alle Anwendungen voneinander isoliert laufen und es somit weniger Angriffspunkte gibt.
  2. Es werden Ressourcen gespart, da im Unterschied zu einer vollständigen virtuellen Maschine, nur die tatsächlich benötigten Ressourcen geladen werden müssen.
  3. Container sind portabel, d.h. sie können problemlos zwischen unterschiedlichen Hosts portiert werden.

Anwendungsszenarien

Da jeder Container alle seine Abhängigkeiten beinhaltet, treten keine Versionskonflikte zwischen ihnen auf. Dadurch ist Docker© sehr gut dafür geeignet mehrere Applikationen auf einem Server zu betreiben. Ein weiterer Vorteil ist, dass die Entwicklungsumgebungen auf den unterschiedlichen Systemen der Entwickler dank Docker© deutlich näher am Produktivsystem sein können.

Docker© eignet sich weniger, wenn Applikationen auf unterschiedlichen Betriebssystemen betrieben werden. Hier wird der ressourcenschonende Ansatz des Teilens des Betriebssystems des Hosts mit den Containern zum Problem.

Docker© und Cloudogu EcoSystem

Das Cloudogu EcoSystem (CES) ist eine virtuelle Maschine, auf der Anwendungen als Docker©-Container automatisiert und ressourcensparend bereitstellt werden.

EcoSystem Architektur
EcoSystem Architektur

Dadurch nutzt das CES die inhärenten Vorteile von Docker©-Containern und ergänzt sie mit den Vorteilen von virtuellen Maschinen, die auch einfach skaliert oder in Form von Instanzen dupliziert werden können.

Docker©-Schulungen

Wenn Sie bislang noch keine Erfahrung mit Docker©-Containern haben, die Grundlagen und den Umgang mit der Technologie aber lernen möchten, bieten wir Ihnen praxisnahe Docker-Schulungen an. Sie erlernen binnen 3 Tagen Grundlagen, fortgeschrittene Techniken und Hintergründe der Docker-Technologie. Vorkenntnisse sind nicht notwendig.