Virtualisierung mit Docker

Basisimages herunterladen und ausführen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Bevor Docker nutzbar ist, müssen Sie sich nach der Installation um die Beschaffung eines passenden Image kümmern. Wie Sie dazu am besten vorgehen, zeigt Ihnen dieser Film.

Transkript

Der erste Schritt im Container-Leneszyklus ist das Herunterladen und Bereitstellen eines Images. Berechtigterweise stellt sich hier oft die Frage, welches Images soll man auswählen und welche Konvention steckt hinter jedem Image. Die interessanteste Kombination von Images möchte ich Ihnen hier kurz darstellen. Der zuständige Befehl um ein Image herunterzuladen aus dem Docker-Hub ist der Docker-pull-Befehl, dieser lädt die Images herunter. Die Konvention für diesen Befehl also der Parameter ist im Regelfall der Name des Anbieters, der Imagename und die jeweilige Version des Images. Typischerweise beginnt man mit einem Container von den wesentlichen Startimages, die es gibt, die sich an den auch heute bekannten Distributionen orientieren. Das ist zum einen das Ubuntu-Basisimage, das in den Versionen precise, vivid und trusty zur Verfügung steht und entsprechend auch hier die Long- Term Releases von Ubuntu repräsentiert. In diesem Image arbeitet man dann auch grundsätzlich mit dem Apt-Get Paket Manager um Software zu installieren. Ein alternatives und sehr oft benutztes Image ist das CentOS-Image, das in den Versionen 5, 6 und 7 zur Verfügung steht, die jeweils für die Enterprise Linux Versionen stehen. Hier kommt der Yum Paketmanager zum Einsatz. Möchte ich also nun eine bestimmte Version von Ubuntu herrunterladen, so nutze ich den Befehl docker pull ubuntutrusty. Alternativ kann ich auch die Konvention entfernen und einfach nur Ubuntu herunterladen. Dann werden die entsprechenden letzten relevanten Tags heruntergeladen. Da dieses Image bereits existiert, war der Dowunload nicht mehr notwendig. Würde dieses Image bereits existieren und es gab in der Zwischenzeit eine Update, würde dieses Update entsprechend vorgenommen werden. An der Stelle ist interessant zu wissen, insofern man nicht einen expliziten Docker-Pull anstoßt, sondern Images nur über den run-Befehl startet, so hat man niemals die neuste Version. Nun wenn man den pull-Befehl benutzt, hat man die aktuelle Version. Am einfachsten startet man mit einem solchen Image immer mit dem Befehl bin/bash in dem man dann mit dieser Instanz arbeiten kann. Ich befinde mich also nun in der Ubuntu-Installation, in der ich die Apt-Get Paketverwaltung nutzen kann. Es empfehlt sich Initial immer zuerst eine Apt-Get-Update zu machen. Diese aktualisiert die Indices um entsprechend alle Pakete vorfinden zu können. Sollte ich nun eine Anwendung installieren wollen, nutze ich den apt-get install -Befehl und die jeweilige Anwendung. Hier beispielsweise das strace-Paket. Möchte ich diesen Container nun verlassen, verwende ich den exit-Befehl um die bash zu beenden. Das Verfahren ist für CentOS haargenau das Gleiche. Wenn ich nun eine CentoOS- Instanz starten möchte, nun kann ich explizit die Version CentOS 7 benutzen und die bin/bash in dieser Instanz starten. Das Verhalten ist das Gleiche, nur dass der Paketmanager in diese Instanz nun der Yum Paketmanager ist. Und mit diesem kann der strace ohne weitere Updates installiert werden. Wenn auch diese beiden Imagetypen im Regelfall für fast alle Anwendungsfälle ausreichend sind, kann es besondere Voraussetzungen geben, die es erfordern andere Images zu verwenden. Zwei hier typische Images sind das phusion/baseimage. Das phusion/bsaeimage basiert auf dem ursprünglichen Ubuntu-Image und erweitert es um Funktionalitäten, die man in der Praxis des Öfteren antrifft, wie beispielsweise eine standardmäßige SSH-Installation, der Möglichkeit von Logrotation, einen Service Controller, der mehrere Anwendungen hochfahren kann innerhalb eines Containers und viele Workarounds für Probleme, die Docker in verschiedenen Versionen haben kann. Alternativ gibt es auch noch das busybok-Baseimage. Dabei handelt es sich nicht um eine Distribution per se, sondern es handelt sich um eine Minimalversion von Ubuntu, in der alle Ubuntu typischen GNU-Anwendungen also alle Shell-Anwendungen wie beispielsweise LS oder PS also die Anwendungen, die dafür zuständig sind Informationen abzurufen, im Form des so genannten busybox-Tools zur Verfügung stehen. Busybox ist eine Minimalversion dieser Tools, die all das zusammenfasst innerhalb einer einzigen Binary und dementsprechend klein ist. Zur Nutzung des busybox- Images empfehlt es sich das jeweilige Repository baseimage-docker von phusion auf github.com aufzusuchen und dort entsprechend die Dokumentation durchzulesen. Denn dieses base-Image eignet sich nicht idealerweise für eine unmittelbare Ausführung auf der Kommandozeile, sondern als Basis zum Aufbau für andere Images. Um das busybox-Image zu nutzen reicht der einfache Docker-pull- Befehl entsprechend mit busybox. Und sollte dies nun installiert sein und man ruft Docker-Images auf, dann sticht zunächst auf mal ins Auge, dass das busybox-Image wesentlich keiner als andere Images ist, denn es handelt sich lediglich um wirklich 3 MB. Das heißt, sollte eine Anwendung möglichst weniger Abhängigkeiten zur jeweiligen Distribution haben, so kann das busybox-Image unter Umständen völlig ausreichend sein um die Anwendung zu betrieben. Man verzichtet an der Stelle allerdings auf Paketmanager und ähnliche Funktionalitäten. Um busybox einmal beispielhaft auszuführen, reicht es busybox run mit dem echo-Befehl und "Hello World". Und man sieht das busybox die Funktionalitäten klassischer Shell-Anwendungen wie beispielsweise echo abdecken kann. Im Laufe dieses Videos haben Sie also die Images kennengelernt, die Sie zukünftig dafür nutzen können eigene Container zu provisionieren und auch andere Images darauf aufzubauen.

Virtualisierung mit Docker

Steigen Sie in die Container-Virtualisierung ein und entdecken Sie einfaches Prototyping neuer und unkomplizierte Skalierung bestehender Anwendungen.

3 Std. 36 min (36 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!