Docker – Bereitstellung von Betriebs-Umgebungen über Container

Datum: 12. Dezember 2014
Autor*in: Marc Kurzmann


Wie der eine oder andere Kollege bereits mitbekommen hat, war unser Informatik-Praktikant Lukas die vergangenen Wochen intensiv mit dem Thema Docker und der Möglichkeit zur effizienten Bereitstellung von Deployment-Umgebungen aus der Produktentwicklung heraus beschäftigt.

Das Ergebnis kann sich sehen lassen:
Es ist nun möglich mit minimalem Aufwand eine vollständige Betriebsumgebung einschließlich eines deployten Produkts eines Kundenprojekts auf dem imxdev2 bereitzustellen. Die Betriebsumgebung kapselt hierbei ein eigenständiges Debian-Linux, eine MySQL-Datenbank, einen Apache-Server, ein Java-JDK, einen tomcat-Server und das lauffähige Produkt (z.B. imx.Tools). Das Deployment findet aus dem aktuellen lokalen Entwicklungsstand direkt per Knopfdruck statt, ohne dass andere laufende Deployment-Container auf dem imxdev2 beeinflusst werden. Somit kann bei Bedarf der Projektmanager oder die Portalentwicklung jederzeit auf aktuelle Zwischenstände in der Produktentwicklung zurückgreifen. Darüber hinaus ist es auch möglich, das Laufzeit-Verhalten der Produkte in verschiedenen Umgebungen zu testen: abweichende Java-, Tomcat-, MySQL-Versionen, unterschiedliche Konfigurationen etc., ohne dabei andere Deployments mit zu beeinflussen.

Für diejenigen, die sich für die technischen Details interessieren, hat Lukas noch ein paar Punkte zur Docker-Container-Technologie zusammengefasst:

Was ist eigentlich dieses Docker?

Diese Frage wurde in einem der letzten Developer Meetings in den Raum geworfen. Nicht zu Unrecht, denn Docker ist noch eine ziemlich junge Technologie. Gestartet wurde das Open Source Projekt Anfang 2013 von der Firma dotCloud (inzwischen Docker Inc.) und hat seitdem einen regelrechten Hype erlebt. Die Entwicklung von Docker lässt sich quasi live auf github (https://github.com/docker/docker) verfolgen, wobei Docker ein sehr aktives Projekt mit vielen externen Beteiligten ist. Die Version 1.0 erschien zwar erst im Juni 2014, trotzdem setzen viele namhafte Firmen Docker schon im produktiven Betrieb ein. Was macht Docker also so attraktiv?

Docker bietet eine Schnittstelle zu den Containment Features des Linux Kernels. Dabei werden Anwendungen zusammen mit ihren Abhängigkeiten zu sogenannten Containern verpackt. Diese bieten eine vom Betriebssystem bereitgestellte virtuelle Umgebung zur isolierten Ausführung von Prozessen. Alle Container teilen sich den Kernel des Hosts, es wird also im Gegensatz zur herkömmlichen Virtualisierung kein ganzes Betriebssystem virtualisiert. Dieser Ansatz bietet einige Vorteile, wie z.B. schnellere Startzeiten, eine bessere Ausnutzung von Systemressourcen sowie reduzierten Speicherbedarf.

Mit Docker lassen sich solche Container leicht erstellen, ausführen und verteilen. Bevor man eine Anwendung mit Docker starten kann, benötigt man ein Abbild des Systems, das als Basis dienen soll. Für viele der größeren Linux Distributionen stehen offizielle Basis-Images zur Verfügung. Diese kann man dann für seine Anforderungen weiter anpassen, indem man festlegt welche Abhängigkeiten und Programme installiert werden, und wie diese konfiguriert werden müssen. Interessant ist auch, dass man z.B. einen Container der Fedora als Basis Image nutzt, ohne weiteres unter einem Debian Host ausführen lassen kann. Dadurch ist es möglich, seine lokal entwickelte Anwendung in einen Container zu packen und sicher zu sein, dass sie auch auf einem anderen System noch genauso funktioniert. Vorausgesetzt natürlich, dass Docker installiert ist, was wiederum eine Kernel Version von mindestens 3.8 und eine 64-bit Architektur erfordert.

In der Produktentwicklung wird Docker nun verwendet, um schnell Testinstanzen mit dem aktuellen Projektstand bereitstellen zu können. Container können auf Knopfdruck über ant-Targets erstellt und verwaltet werden. Allerdings bleibt es einem aber leider nicht erspart, manchmal doch zur Kommandozeile greifen zu müssen, um z.B. Logs auszuwerten.

Docker funktioniert schon erstaunlich gut, löst aber auch (noch?) nicht alle Probleme und viele Tools im Docker Ökosystem stecken noch in den Kinderschuhen. Skalierung bleibt auch mit Docker eine komplizierte Angelegenheit, wobei es viele (zu viele um alle aufzuzählen) Projekte gibt, die versuchen dieses Problem zu lösen. Es bleibt deshalb abzuwarten, was sich durchsetzen wird.

Zudem sind auch schon einige Konkurrenz Projekte zu Docker in Entwicklung, wie Rocket von CoreOS oder LXD von Canonical, die zukünftig auch noch ein Stück vom Container-Kuchen haben wollen. Es deutet auf jeden Fall vieles darauf hin, dass Container sich auch zukünftig noch weiter etablieren werden.

Wer weitere Fragen hat, kann gerne auf uns zukommen.


Dieser Artikel wurde verschlagwortet unter:


Kommentare

Selber kommentieren:






Weitere Beiträge zum Thema Projekte


Responsive Webdesign – Was hat das mit mir zu tun?

Autor*in: Axel Güldner


Projekte // Technologie // Über den Tellerrand // User Experience & Design


Das Thema Responsive Webdesign hat inzwischen jeden von uns, der mit offenen Augen durch das Internet läuft, mindestens einmal berührt. Quasi wie aus dem Nichts ist diese Disziplin über Nacht zum neuen Buzzword unter Webdesignern/Entwicklern und Marketingleuten geworden. Responsive Webdesign gilt einfach als sexy, auch wenn die eigentliche Idee dahinter nicht gerade neu ist. Jeder …


Beitrag lesen
18
JAN
12

Not macht erfinderisch.

Autor*in: Christine Pfleger


Projekte   //   Tourismus


infomax im Home Office
infomax im Home Office

Schwierige Zeiten sind das. Covid-19 hat uns im Griff und krempelt in kürzester Zeit die ganze Welt um. Und doch finden sich in der Branche positive Beispiele, wie man der Krise begegnen kann.


Beitrag lesen
31
MRZ
20

Cookie Consent Management – Eine Studie unseres Digital Tourism Labs

Autor*in: Merle Howindt


infomax   //   Projekte   //   Strategie & Konzeption   //   Über den Tellerrand


GINA BOLLE

Jeder kennt sie: die nervigen Banner und Boxen, die dem Nutzer bei jedem Erstbesuch einer Website eingeblendet werden und eine Zustimmung zum Setzen von Cookies einfordern. Mittlerweile gibt es zahlreiche Versionen, die in der Gestaltung durchaus stark abweichend sind. Daher stellt sich oft die Frage: „Welche Version erreicht die höchste Einwilligungsrate, ohne den Pfad der Rechtskonformität zu verlassen?“.


Beitrag lesen
15
DEZ
21

Pünktlich zum Osterausflug: ausflugsticker.bayern geht an den Start

Autor*in: Robert Klauser


infomax   //   Projekte


Ausflugsticker Bayern
Ausflugsticker Bayern

Rechtzeitig zum Osterausflug bringt infomax mit ausflugsticker.bayern die erste landesweite Plattform für digitale Besucherlenkung in Deutschland online. Auftraggeber für dieses innovative Projekt ist die BAYERN TOURISMUS Marketing GmbH in enger Kooperation mit den vier touristischen Regionalverbänden in Bayern (Allgäu/Bayerisch Schwaben, Franken, Oberbayern und Ostbayern).     Wir benötigen Ihre Zustimmung, um Inhalte zu laden!  Wir …


Beitrag lesen
31
MRZ
21