AA_123rf-19931126_NattananSrisut-123RF.jpg

© Nattanan Srisut, 123RF

Mit Docker virtuelle Container verwalten

Richtig gestapelt

Mit Docker schichten Sie Systeme oder Programme in Form von Image-Dateien in einen Container und arbeiten dann in einer virtuellen Umgebung.

Selten hat eine so junge Software so viel Aufsehen erregt wie in der jüngsten Zeit die Containerverwaltung Docker [1]. Dahinter verbirgt sich eines der am schnellsten wachsenden Projekte in der Geschichte freier Software.

Im März 2013 als Open Source freigegeben, erreichte es Mitte Juni 2014 Version 1.0, mit der die Entwickler es für den produktiven Einsatz freigaben. Im gleichen Monat fand sich Docker bereits in Red Hats RHEL 7. Weitere Kooperationen bestehen mit Canonical, OpenSuse, CoreOS, VMware und anderen Unternehmen. Zudem ist Docker Mitglied im Kubernetes-Projekt von Google [2].

Die mit dem Namen Docker verbundene Assoziation trifft den Zweck des Programms recht gut: Die Software belädt einen Rechner mit Containern, die Inhalte transportieren, isolieren und schützen. Bei Bedarf stapeln Sie diese übereinander, um Funktionen zu kombinieren.

Docker-Container in der IT sind virtuelle Umgebungen zum isolierten Ausführen von Prozessen und Anwendungen. Das geschieht derzeit hauptsächlich zum Entwickeln, Testen und Bereitstellen von Applikationen. Die Methode erlaubt, Anwendungen inklusive aller Abhängigkeiten so zu isolieren, dass sie praktisch keinen Overhead haben und somit fast so schnell laufen wie die nativen Anwendungen.

Im Gegensatz zu den bekannten Programmen wie Virtualbox, VMware Workstation, HyperV, Parallels Desktop oder Xen braucht ein Docker-Container kein eigenes Betriebssystem: Jeder Container nutzt die Grundfunktionen des Gastsystems (Abbildung 1), lediglich der Kernel des Hosts muss zum Gast passen.

Abbildung 1: Im Gegensatz zu einer virtuellen Maschine nutzt ein Container in Docker die Ressourcen des Hosts, wo dies möglich ist.

Die Grundlagen

Um die beschriebenen Funktionen zu erreichen, bedient sich Docker Techniken wie Control Groups [3] und Kernel-Namespaces [4]. Dabei schotten die Namespaces die Software im Container nach innen und außen ab, während die Control Groups (kurz Cgroups) dafür sorgen, dass der Container nur ihm zugeteilte Ressourcen des Hosts nutzt.

Bis Version 0.8 – zu Redaktionsschluss war Version 1.2 aktuell – machte sich Docker zudem die Funktionen von Linux-Container (LXC) [5] zunutze. Dann entwickelten die Maintainer jedoch für Version 0.9 eine eigene API namens Libcontainer, die für andere Projekte frei bereitsteht.

Derzeit kommt Docker hauptsächlich als PaaS zum Einsatz. Es eignet sich aber durchaus auch dafür, künftig als ressourcenschonende Alternative zur herkömmlichen Virtualisierung zu operieren. Derzeit beginnt die Arbeit an grafischen Werkzeugen zum Verwalten der Container, das Tool Panamax gehört zu den ersten Programmen dieser Art.

Komponenten

Das Docker-System besteht aus drei Komponenten: dem Daemon, dem Client und mindestens einem Image. Dabei übernimmt der Daemon das Verwalten der Container, über den Client steuern Sie mit entsprechenden Befehlen das System. Dabei dürfen Client und Daemon lokal auf einer Maschine laufen, alternativ kontaktiert der Client den Daemon auf einem Server im Rechenzentrum oder in der Cloud.

Docker-Images entsprechen in etwa vorgefertigten Virtual Machines (VMs) für Virtualbox oder den Appliances von VMware. Im Vergleich mit diesen fallen die Abbilder für Docker jedoch enorm platzsparend aus. Zudem lassen sie sich stapeln und wie in einem Versionskontrollsystem verwalten.

Der Docker Hub beherbergt die Repositories, die mittlerweile rund 15 000 vorbereitete Rezepte für Images enthalten. Dabei unterscheidet man zwischen Base-Images, die ein Basissystem darstellen, sowie darauf aufbauenden Images, die eine oder mehrere Applikationen enthalten (Abbildung 2). Das Erstellen eigener Images fällt nach etwas Einarbeiten leicht: Sie müssen dazu lediglich die Befehlsstruktur der verwendeten Distribution kennen.

Abbildung 2: Docker Hub bietet Tausende Images in einem zentralen Repository an.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Huawei
Pit Hampelmann, 13.12.2017 11:35, 2 Antworten
Welches Smartphone ist für euch momentan das beste? Sehe ja die Huawei gerade ganz weit vorne. Bi...
Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 2 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 3 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...