Wie man den docker container export-Befehl verwendet, um ein Container-Dateisystem zu exportieren

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie den Befehl docker container export verwenden, um das Dateisystem eines Docker-Containers zu exportieren. Wir beginnen mit der Erstellung und Ausführung eines einfachen Containers.

Nach der Container-Erstellung werden Sie verschiedene Methoden zum Exportieren des Container-Dateisystems erkunden. Dazu gehört das direkte Exportieren des Dateisystems in die Standardausgabe (STDOUT), das Exportieren in eine Datei mittels Shell-Umleitung und schließlich das Exportieren in eine Datei mit der Option --output des Befehls docker container export.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ImageOperationsGroup -.-> docker/save("Save Image") subgraph Lab Skills docker/run -.-> lab-555109{{"Wie man den docker container export-Befehl verwendet, um ein Container-Dateisystem zu exportieren"}} docker/ls -.-> lab-555109{{"Wie man den docker container export-Befehl verwendet, um ein Container-Dateisystem zu exportieren"}} docker/ps -.-> lab-555109{{"Wie man den docker container export-Befehl verwendet, um ein Container-Dateisystem zu exportieren"}} docker/save -.-> lab-555109{{"Wie man den docker container export-Befehl verwendet, um ein Container-Dateisystem zu exportieren"}} end

Erstellen und Ausführen eines einfachen Containers

In diesem Schritt lernen Sie, wie Sie einen einfachen Docker-Container erstellen und ausführen. Ein Container ist eine standardisierte Softwareeinheit, die Code und alle seine Abhängigkeiten verpackt, damit die Anwendung schnell und zuverlässig in verschiedenen Rechenumgebungen läuft.

Wir verwenden den Befehl docker run, um einen Container zu erstellen und auszuführen. Die grundlegende Syntax lautet docker run [OPTIONS] IMAGE [COMMAND] [ARG...].

Lassen Sie uns einen einfachen Container mit dem ubuntu-Image und dem echo-Befehl ausführen. Das ubuntu-Image ist ein minimales Ubuntu-Betriebssystem-Image.

docker run ubuntu echo "Hello from Docker!"

Wenn Sie diesen Befehl zum ersten Mal ausführen, prüft Docker zunächst, ob das ubuntu-Image lokal vorhanden ist. Falls nicht, lädt es das Image von Docker Hub (der Standard-Registry). Anschließend erstellt es einen neuen Container aus diesem Image und führt den Befehl echo "Hello from Docker!" innerhalb des Containers aus. Nach Abschluss des Befehls wird der Container gestoppt.

Sie sollten die Ausgabe Hello from Docker! in Ihrem Terminal sehen.

Nun versuchen wir, einen Container auszuführen, der aktiv bleibt. Wir können die Option -d verwenden, um den Container im Detached-Modus (im Hintergrund) auszuführen, und den Befehl tail -f /dev/null, um den Container ohne nennenswerten Ressourcenverbrauch am Laufen zu halten. Wir geben dem Container außerdem mit der Option --name einen Namen, um später einfacher darauf verweisen zu können.

docker run -d --name my-ubuntu-container ubuntu tail -f /dev/null

Dieser Befehl lädt das ubuntu-Image (falls noch nicht vorhanden), erstellt einen Container namens my-ubuntu-container und führt den Befehl tail -f /dev/null im Detached-Modus aus. Der Befehl gibt die Container-ID aus.

Um zu überprüfen, ob der Container läuft, können Sie den Befehl docker ps verwenden, der laufende Container auflistet.

docker ps

Sie sollten eine Liste der laufenden Container sehen, einschließlich my-ubuntu-container.

Exportieren des Container-Dateisystems nach STDOUT

In diesem Schritt lernen Sie, wie Sie das Dateisystem eines Docker-Containers exportieren. Durch das Exportieren eines Container-Dateisystems wird ein tar-Archiv mit den Inhalten des Containers erstellt. Dies kann nützlich sein für Backups, zum Teilen von Container-Zuständen oder zur Untersuchung der Container-Inhalte.

Wir verwenden den Befehl docker export für den Export. Die grundlegende Syntax lautet docker export [OPTIONS] CONTAINER.

Lassen Sie uns das Dateisystem des my-ubuntu-container exportieren, den wir im vorherigen Schritt erstellt haben. Standardmäßig gibt docker export das tar-Archiv an die Standardausgabe (STDOUT) aus.

docker export my-ubuntu-container

Bei Ausführung dieses Befehls sehen Sie einen Strom von Binärdaten in Ihrem Terminal. Dies ist das tar-Archiv des Container-Dateisystems. Da es sich um Binärdaten handelt, sind diese im Terminal nicht menschenlesbar.

Um besser zu verstehen, was exportiert wird, könnten wir die Ausgabe an einen Befehl weiterleiten, der tar-Archive verarbeiten kann, wie z.B. tar. In diesem Schritt konzentrieren wir uns jedoch nur auf den Export nach STDOUT.

Der Befehl docker export exportiert das gesamte Dateisystem des Containers, einschließlich aller Änderungen, die seit der Erstellung des Containers vorgenommen wurden.

Exportieren des Container-Dateisystems in eine Datei mittels Umleitung

Im vorherigen Schritt haben wir das Container-Dateisystem nach STDOUT exportiert. Während dies nützlich ist, um die Ausgabe an andere Befehle weiterzuleiten, ist es oft praktischer, das exportierte Dateisystem in einer Datei zu speichern.

Dies können wir durch Shell-Umleitung erreichen. Der Operator > leitet die Standardausgabe eines Befehls in eine Datei um.

Lassen Sie uns das Dateisystem des my-ubuntu-container in eine Datei namens ubuntu-filesystem.tar in Ihrem aktuellen Verzeichnis (~/project) exportieren.

docker export my-ubuntu-container > ubuntu-filesystem.tar

Dieser Befehl führt docker export my-ubuntu-container aus und leitet die Binärausgabe (das tar-Archiv) in die Datei ubuntu-filesystem.tar um. Diesmal werden Sie die Binärdaten nicht im Terminal sehen.

Nach Abschluss des Befehls können Sie überprüfen, ob die Datei erstellt wurde, und ihre Größe mit dem Befehl ls -lh kontrollieren.

ls -lh ubuntu-filesystem.tar

Sie sollten die Datei ubuntu-filesystem.tar mit ihrer Größe aufgelistet sehen. Die Größe hängt von den Inhalten des ubuntu-Images ab.

Sie können auch den file-Befehl verwenden, um zu bestätigen, dass die erstellte Datei ein tar-Archiv ist.

file ubuntu-filesystem.tar

Die Ausgabe sollte anzeigen, dass es sich um ein tar-Archiv handelt, zum Beispiel: ubuntu-filesystem.tar: POSIX tar archive.

Exportieren des Container-Dateisystems in eine Datei mit der --output-Option

Im vorherigen Schritt haben wir die Shell-Umleitung (>) verwendet, um das exportierte Container-Dateisystem in einer Datei zu speichern. Docker bietet auch eine spezielle Option --output oder -o, um die Ausgabedatei direkt mit dem docker export-Befehl anzugeben. Dies kann manchmal praktischer sein als die Verwendung von Shell-Umleitung.

Lassen Sie uns das Dateisystem des my-ubuntu-container erneut exportieren, diesmal mit der --output-Option, und es in einer Datei namens ubuntu-filesystem-output.tar im aktuellen Verzeichnis (~/project) speichern.

docker export --output ubuntu-filesystem-output.tar my-ubuntu-container

Dieser Befehl ist äquivalent zur Verwendung von Umleitung, nutzt jedoch eine Docker-spezifische Option. Das tar-Archiv wird direkt in die angegebene Datei gespeichert.

Nach Abschluss des Befehls können Sie die Erstellung und Größe der neuen Datei mit ls -lh überprüfen.

ls -lh ubuntu-filesystem-output.tar

Sie sollten die Datei ubuntu-filesystem-output.tar aufgelistet sehen. Ihre Größe sollte der im vorherigen Schritt erstellten Datei ubuntu-filesystem.tar entsprechen.

Sie können auch den file-Befehl verwenden, um zu bestätigen, dass ubuntu-filesystem-output.tar ein tar-Archiv ist.

file ubuntu-filesystem-output.tar

Die Ausgabe sollte bestätigen, dass es sich um ein tar-Archiv handelt.

Die Verwendung der --output-Option ist eine saubere Methode, um die Zieldatei für das exportierte Dateisystem anzugeben.

Zusammenfassung

In diesem Lab haben wir gelernt, wie einfache Docker-Container erstellt und ausgeführt werden. Wir haben den Befehl docker run verwendet, um Befehle innerhalb eines Containers auszuführen und Container im Detached-Modus mit einem spezifischen Namen zu starten. Zudem haben wir den docker ps-Befehl genutzt, um zu überprüfen, ob ein Container läuft.

Anschließend haben wir untersucht, wie das Dateisystem eines Containers mit dem docker export-Befehl exportiert werden kann. Wir haben gelernt, wie das Dateisystem in die Standardausgabe (STDOUT) exportiert wird und wie die Ausgabe in eine Datei umgeleitet werden kann. Abschließend haben wir die Verwendung der --output-Option mit docker export kennengelernt, um die Ausgabedatei direkt anzugeben.