Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Virtualisierung mit Docker

Container als Images sichern

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Das Sichern des Containerzustands in Form eines Image erlaubt die einfache Replikation konfigurierter Instanzen. Machen Sie sich in diesem Video mit dem entsprechenden Vorgehen vertraut.

Transkript

Die Möglichkeit laufende Instanzen eines Betriebssystems bzw. einer Anwendung wegzuschreiben ist eins der wesentlichsten Features von Virtualisierung. Wie Sie auch das mit Docker umsetzen können, möchte ich Ihnen nun im Laufe dieses Videos zeigen. Den ersten wichtigen Befehl, den Docker in diesem Zusammenhang anbietet, ist der Befehl docker commit. Dieser nimmt einen Container und schreibt den Container in seinem aktuellen Zustand als Image weg. Vergleichbar kann man das auch als einen Snapshot bezeichnen. Im Kontrast allerdings zum typischen VMWare-Snapshot wird hier nicht die Arbeitsspeicher gesichert, sondern nur der Zustand des Dateisystems. Ähnlich wie bei VMWare allerdings kann man auch von diesem Snpashot aus neue Instanzen erstellen. Das heißt, sollte ich einen Container haben, dessen status quo mir besonders gut gefällt, kann ich mit der commit-Befehls mir mehrere Instanzen dieses Containers erstellen. Möchte ich nun ein solches Image sichern und auch portable machen, nutze ich den Befehl docker save. Beim Export des Image-Inhaltes werden auch alle zwischenliegenden Ebenen mit exportiert. Das heißt, das Format, das dabei resultiert ist auch speziell für Docker geeignet und auch für den Reimport von Docker ausschließlich vorgesehen. Das passende Import-Kommando hierzu ist der docker load-Befehl, der genau diese Imagedatei wieder einlesen kann und auf einem anderen System importieren als auch auf dem gleichen System. Zunächst einmal suche ich mir also den Container, den ich sichern möchte. Dies geht einfach mit dem Befehl docker ps -a. Ich hätte hier nun also eine Oracle-Instanz, deren Container-id ich nun mit dem Befehl docker commit und einem entsprechenden Namen für das Tag zum Beispiel orc save sichern kann. Der Vorgang dauert kurze Zeit. Ist der Vorgang nun abgeschlossen, kann mit Hilfe des Befehls docker images nachvollzogen werden, dass das neue Image orc-save, mit der Größe 3,7 GB hier liegt. Das interessante an der Stelle ist, dass die orc save-Instanz, die ursprünglich von der docker oracle 11g abstammt, um guter 1,4 GB gewachsen ist. An der Stelle gesichert wurden allerdings auch nur wirklich 1,4 GB. Die restlichen 2,389 GB, die bereits in der 11g-Instanz bestanden, wurden nicht zusätzlich gesichert. Gut zu wissen an der Stelle ist, dass das aktuelle Container-Objekt nicht sich von diesem Image ableitet, sondern trotz des Commits nach wie vor auf diesem Image basiert. Das bedeutet, alle Speicherdifferenzen sind nun doppelt auf der Festplatte vorhanden. Wurde ich an dieser Stelle optimieren wollen, musste ich stattdessen einen neuen Container starten, der auf Basis des orc save-Images läuft. Wenn ich nun ein Image exportieren möchte, nutze ich den Befehl docker save, gebe den Namen des Images an, hier in diesem Fall die Version trusty von Ubuntu, peipe das Ganze in ein gzip um Kompression zu gewährleisten und exportiere es in eine Datei. Nachdem der save-Befehl abgeschlossen ist, entferne ich nun das Docker-Image, damit ich es noch einmal reimportieren kann. Das Docker-Image ist also nun entfernt worden und sollte in Docker-Images nicht mehr auftauchen. Wenn man nun den cut-Befehl benutzt, die jeweilige Datei referenziert und das Ganze an den Docker-load-Befehl sendet, so erhält man unter Docker-Images die Ubuntu-Instanz zurück. Dass hier auch alle Ebenen reimportiert wurden, kann man anhand der Image-id und dem Docker-history-Befehl nachvollziehen. Interessant ist, dass das Docker-Image an sich 192-MB-Größe hat. Dank der gzip-Kompression wurde es entsprechend auf 63 MB verkleinert. Sie haben also nun Möglichkeiten kennengelernt eine Art Snapshotting auf Basis von Docker auszuführen und entsprechende Images sowohl aus Docker heraus exportieren zu können als auch in anderen Docker- Instanzen wieder zu importieren.

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!