Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Virtualisierung mit Docker

Container exportieren und importieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Während der Entwicklung eines Containers kann es sinnvoll sein, diesen zwischen Systemen zu transportieren und mit Hilfe einer vollständigen Kopie des Dateisystems portabel zu machen.

Transkript

Docker als solches liefert portable Einheiten, die so genannten Images. Images sind aber tatsächlich davon abhängig, dass es eine Docker-Registry gibt und kann nur anhand einer Docker-Registry von einer Instanz auf die andere übertragen werden. Alternativ gibt es aber die Möglichkeit, ein Image bzw. einen Container zu exportieren. Wie Sie genau das mit einem Container tun können, möchte ich Ihnen im Laufe dieses Videos zeigen. Zunächst einmal gibt es den Befehl docker export, welche nicht zu verwechseln ist mit dem Befehl docker save, denn docker save speichert lediglich ein Image und all dessen Ebenen, die dazwischen sind. Docker export allerdings nimmt einen Container und speichert diesen als TAR-Format zunächst einmal auf die Konsole. Diesen Konsolen-Output wiederum kann man durch einen Reader-Reg in eine Datei leiten und dadurch hat man effektiv den gesamten Dateiinhalt des Containers in eine Datei gestreamt. Anwendung führt das oft auch, wenn bereits viele Ebenen in einem Image entstanden sind und man möchte, dass der Container lediglich nur noch aus einer Ebene besteht, denn durch das Export-Vefahren ist Docker in der Lage, den Container nur noch als einzige Ebene wieder zu importieren Nutzt man unterstützend zu dem docker export-Befehl auch noch einen Pipe über den gzip-Command, bekommt man am Ende ein komprimiertes Archiv, das lediglich nur noch die Dateien des Dateisystems beinhaltet. Möchte man darauf diese Dateien wieder importieren. kann man das mit Hilfe des docker import-Befehls. Der docker import-Befehl in diesem Fall ist auch in der Lage, die Dekompression vorzunehmen. Ich befinde mich nun also auf meiner Docker-Instanz. Mit Hilfe des docker ps-Befehls suche ich zunächst einmal den laufenden Container der Oracle-Instanz. Ich kopiere an der Stelle die Container-ID und verwende nun den docker export-Befehl. Die Zusammensetzung des docker export-Befehls besteht aus docker export und der jeweiligen Container-ID. Als Nächstes pipe ich diesen Inhalt in den gzip-Befehl und gebe das Ganze in eine Datei aus, die ich dann beispielsweise mit export.tar.gz benennen kann. Ich bestätige also mit Enter Und der Prozess läuft nun und überträgt alle Daten aus diesem Container in diese tar.gz-Datei. Sobald der Export abgeschlossen ist, kann ich mir über den Inhalt des Container-Exports noch einmal versichern mit dem Befehl tar ztvf angewendet auf die Export-Datei. Ich sehe nun den Inhalt der tar-Datei, die jeweils hier die Oracle-Daten als auch das Betriebssystem beinhaltet. Das Handling des import-Befehls ist nur etwas komplizierter, denn der import-Befehl an sich nimmt im Regelfall nur eine UEL entgegen. Das bedeutet, die tar-Datei müsste sich auf einem httpn. befinden. Alternativ kann man den Inhalt der tar.gz-Datei in den docker import- Befehl hineinstreamen. Das bedeutet man benutzt den Befehl cat, dann die jeweilige Datei, pipet diesen Inhalt in den docker import-Befehl, gibt die UAL dann mit einem Dash an und nutzt dann einen Tag, der dann das Image, dass dadurch importiert wird, repräsentiert. Man bestätigt das Ganze mit der Enter-Taste und der Vorgang dauert nun einige Sekunden. Wenn der Vorgang abgeschlossen ist, befindet sich nun unter docker images der entsprechende Import. Hier in diesem Fall Oracle-Import. Wichtig hervorzuheben ist an dieser Stelle, dass das ursprüngliche Image eine Größe von 2,4 GB hatte. Der Reimport hat das Layering aufgehoben und hat nur noch 2,2 GB. Das bedeutet alle Zwischenebenen, die nicht mehr benötigt werden, wurden dadurch verworfen. Um das Ganze noch einmal nachzuvollziehen kann man den docker history-Befehl verwenden. Die History für den Oracle-Import ist lediglich eine einzige Ebene. Während die History für das andere Image deutlich mehr Ebenen beinhaltet. Da es auch ein physikalisches Limit der Ebenen gibt, kann es mit der Zeit durchaus Sinn machen einen Reimport durchzuführen. Hervorgehoben werden sollte an dieser Stelle auch noch, dass das portable Format dieses Containers bzw. Images lediglich eine Größe von 700 MB hat und dadurch deutlich einfacher zwischen Systemen transportiert werden kann. Sie haben nun also die Möglichkeiten eines Reimports von Containern kennengelernt und können zukünftig so relativ einfach Container zwischen Systemen transportieren und reimportieren.

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!