Dateien in einem laufenden Docker-Container kopieren, auflisten und löschen

Von außerhalb (also dem Host, auf dem ein Docker-Container läuft) lassen sich Befehle in den laufenden Docker-Container weitergeben.

Datei kopieren

Um Dateien in oder von einem Docker-Container zu kopieren, gibt es den docker cp-Befehl:

docker cp MyContainerName:/var/tmp/myfile.dmp /var/tmp/myfile.dmp

Das obige kopiert aus einem Docker-Container namens „MyContainerName“ eine Datei „/var/tmp/myfile.dmp“ lokal auf den Docker-Host als „/var/tmp/myfile.dmp“.

Umgekehrt herum würde es so aussehen:

docker cp /var/tmp/myfile.dmp MyContainerName:/var/tmp/myfile.dmp

Verzeichnis auflisten

docker exec MyContainerName ls -l /var/tmp/

Dieser Befehl listet die Dateien und Ordner innerhalb von „/var/tmp/“ im Docker-Container „MyContainerName“ auf.

Dateien löschen

docker exec MyContainerName rm -rf /var/tmp/myfile.dmp

Dieser Aufruf löscht die Datei „/var/tmp/myfile.dmp“ im Docker-Container „MyContainerName“, sofern die Datei vorhanden ist, und Berechtigungen zum Löschen vorhanden sind.

Shell im Container starten

Mithilfe von docker exec.

docker exec -it MyContainerName bash

Startet eine „bash“-Eingabeaufforderung im Container „MyContainerName“, um dort weitere Befehle auszuführen. Z. B. ein cd, ein unlink und sonstiges.

docker exec -it MyContainerName sh

Startet eine „sh“-Eingabeaufforderung im Container „MyContainerName“, um dort weitere Befehle auszuführen. Z. B. ein cd, ein unlink und sonstiges.

Shell als root-Benutzer im Container ausführen

Wie hier beschrieben kann man sich als Root-Benutzer mit einer Shell im Container anmelden:

docker exec -it --workdir /root --user root MyContainerName sh

Startet eine „sh“-Eingabeaufforderung im Container „MyContainerName“ als „root“-Benutzer, um dort weitere Befehle auszuführen. Z. B. ein cd, ein unlink und sonstiges.