Virtualisierung mit Docker

Typische Anwendungsszenarien

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Docker-Buildfiles können unter Umständen vielfältigen Nutzen stiften, abhängig von der Art des Einsatzes. In diesem Video werden Ihnen einige typische Anwendungsfälle aus der Praxis vorgestellt.

Transkript

Der Einfachheit halber kann man der Meinung sein, dass Buildfiles für Docker völlig überflüssig sind. Denn durch das Hochfahren eines Containers und durch die Veränderungen, die man in dem Container vornimmt und dem entsprechenden Commit in ein Image, kann man entsprechende Images produzieren und wieder verwenden. Warum genau das nicht der Fall ist, erkläre ich Ihnen nun im Laufe des folgenden Videos. Grundsätzlich gilt hier ein Prinzip für das Buildfile, der so genannten Reproduzierbarkeit. Wenn ich beispielsweise auch ein Programm schreibe, ist es für mich immer wichtig, dass das Programm egal, wo ich es ausführe, reproduzierbar ist für den Endnutzer. Ähnliches gilt für das Buildfile. Das Buildfile beschreibt den Herstellungsprozess des Zustands, wie ein Image auszusehen hat. Das heißt, durch die Definition eines Buildfiles kann ich festlegen, wie eine Oracle-Installation beispielsweise zusammen gesetzt ist. Und jeder, der zukünftig mein Buildfile verwendet, ist in der Lage das zu reproduzieren. Ein weiterer Anwendungsfall für Reproduzierbarkeit ist der Austausch von Versionen. Denn typischerweise ist die verwendete Software oft nicht starr. Und aus der klassischen Welt der IT weiß man ganz genau, dass Änderungen an Softwareversionen oftmals dazu führen, dass Software lang nicht geupdatet wird, weil man entweder Angst haben muss die Installation nicht mehr so wiederherzustellen wie vorher oder auf Inkompatibilitäten stoßen könnte. Da das Buildfile als solches aber den Prozess beschreibt, wie von einer Ubuntu-Installation, über eine Apache-Installation, zum Beispiel zu einer PHP- Installation gekommen wird, sind die jeweiligen Artefakte und deren Version relativ einfach austauschbar. Sollte es dann unter Umständen doch zu Problemen kommen, ist es dank der Reproduzierbarkeit nicht besonders schwierig, den alten Stand zu nutzen bzw. auch verschiedene Kombinationen auszuprobieren. Im herkömmlichen Prozess würde das bedeuten: Virtuelle Maschine installieren, von vorne anfangen. Das ist im Regelfall so langsam, dass man diesen Weg nicht gehen würde. Ein weiterer interessanter Einsatz des Buildfiles ist das Changemanagment. Wenn ich also eine Installation eines Docker-Containers als geschlossene Einheit betrachte, die darauf hin als unveränderlich gilt, ist es nicht mehr nötig, Änderungen am System selbst zu dokumentieren, denn alle Änderungen befinden sich idealerweise in der Beschreibung, wie der Container aufgebaut wird. Sollten hier also Änderungen vorgenommen werden, so wird die Beschreibungsdatei, also das Buildfile geändert. So ist für jeden Betrachter im Nachhinein ersichtlich, wie ein Change mit bestimmten Auswirkungen zusammenhängt. Außerdem findet die Dokumentation der Changes an einem zentralen versionierten Ort statt. Idealerweise dem Versionskontrollsystem. Womit sich diese Information nicht mehr innerhalb irgendwelcher Pseudokonfigurationmanagment- Datenbanken befindet. Der letzte Anwendungsfall ist die Lizenzierung von Artefakten. Denn oftmals hat man nicht das Recht, eine Software in geschlossener Form an einem anderen Ort zu speichern. Da man aber anhand eines Buildfiles beschreiben kann, wie eine solche lizenzierte Anwendung aufgebaut werden kann, kann die Lizenzdatei beispielsweise bei der Ausführung des Prozesses ausgetauscht werden, sodass der Prozess unter Zugabe unterschiedlicher Lizenzierungen ablaufen kann. Hätte ich also beispielsweise einen Softwareschlüssel für eine Anwendung, so würde ich diesen innerhalb einer externen Datei aufbewahren und mit Hilfe des Docker-Buildfiles diese externe Datei in das System einspielen. Das sind nun also die wesentlichen Anwendungsfälle aus der Praxis heraus, bei denen die Nutzung eines Buildfiles wesentlich komfortabler ist. Aus persönlicher Erfahrung heraus kann ich nur empfehlen, initial immer direkt mit einem Buildfile zu arbeiten. Und nur für Zwecke von Prototypen einen Commit anhand eines Images durchzuführen oder um beispielsweise ein Backup eines produktiven Containers zu tätigen.

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!