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.