Dateien aus einem Container in das lokale Dateisystem kopieren
In diesem Schritt lernen Sie, wie Sie Dateien aus einem laufenden Docker-Container in Ihr lokales Dateisystem kopieren. Dies ist nützlich, um Logs, Konfigurationsdateien oder andere innerhalb eines Containers erzeugte oder modifizierte Daten abzurufen.
Stellen wir zunächst sicher, dass wir einen laufenden Container zur Verfügung haben. Wir verwenden hierfür den my_ubuntu_container
aus dem vorherigen Schritt. Falls dieser nicht läuft, starten wir ihn.
docker start my_ubuntu_container
Dieser Befehl startet den Container namens my_ubuntu_container
.
Nun erstellen wir eine Datei innerhalb des Containers, die wir auf unseren lokalen Rechner kopieren werden. Wir verwenden docker exec
, um einen Befehl innerhalb des Containers auszuführen, der eine Datei namens container_file.txt
im Verzeichnis /root/
erstellt.
docker exec my_ubuntu_container sh -c 'echo "This file is from the container." > /root/container_file.txt'
Dieser Befehl führt einen Shell-Befehl innerhalb von my_ubuntu_container
aus, um die Datei /root/container_file.txt
mit dem angegebenen Inhalt zu erstellen.
Um zu überprüfen, ob die Datei im Container erstellt wurde, können Sie docker exec
verwenden, um die Dateien im /root/
-Verzeichnis des Containers aufzulisten.
docker exec my_ubuntu_container ls /root/
In der Ausgabe sollte container_file.txt
aufgeführt sein.
Jetzt können wir die Datei container_file.txt
aus dem Container auf Ihren lokalen Rechner kopieren, indem wir den Befehl docker cp
verwenden. Die Syntax für das Kopieren von einem Container auf den lokalen Rechner lautet docker cp <Container_Name>:<Container_Pfad> <lokaler_Pfad>
. Wir kopieren sie in Ihr ~/project
-Verzeichnis.
docker cp my_ubuntu_container:/root/container_file.txt ~/project/
Dieser Befehl kopiert die Datei /root/container_file.txt
aus my_ubuntu_container
in Ihr lokales Verzeichnis ~/project/
.
Um zu bestätigen, dass die Datei erfolgreich auf Ihren lokalen Rechner kopiert wurde, listen Sie die Dateien in Ihrem ~/project
-Verzeichnis auf.
ls ~/project/
In der Ausgabe sollten sowohl container_file.txt
als auch die Datei test_file.txt
aus dem vorherigen Schritt erscheinen.
Sie können den Inhalt der kopierten Datei auch mit dem Befehl cat
anzeigen.
cat ~/project/container_file.txt
Die Ausgabe sollte "This file is from the container." lauten, was den korrekten Kopiervorgang bestätigt.
Abschließend bereinigen wir den Container.
docker stop my_ubuntu_container
docker rm my_ubuntu_container