So kopieren Sie Dateien vom Hostsystem in einen Docker-Container mit netcat
Eine einfache Möglichkeit, Dateien vom Hostsystem des Dockers in einen Docker-Container zu kopieren, ist die Verwendung des Befehls netcat. Stellen Sie zunächst sicher, dass der nc-Befehl in Ihrem Docker-Container verfügbar ist, indem Sie das nectcat-Paket installieren. Im folgenden Szenario werden wir die Datei myfile.txt in einen Docker-Container mit einer Container-ID übertragen, z. B. E350390FD549.
Ziel-Docker-Container
Zuerst wird die interaktive Shell in einem Docker-Container den Befehl nc ausführen, um auf einen beliebigen Port zu warten, der zum Empfangen von Dateien verwendet wird. In diesem Fall lautet die Portnummer 7555:
root@e350390fd549:~# nc -l -p 7555 > /root/myfile.txt
Quell-Hostsystem
Rufen Sie als Nächstes die IP-Adresse des Containers ab:
docker inspect -f '{{ .NetworkSettings.IPAddress }}' e350390fd549
172.17.0.36
Kopieren Sie mit einer anderen Terminalsitzung auf Ihrem Hostsystem die myfile.txt Datei in einen Docker-Container, indem Sie den Befehl nc und die zugehörige IP-Adresse als Ziel verwenden:
nc 172.17.0.36 7555 < myfile.txt
Fertig. Sie können mit md5sum bestätigen, dass die Datei korrekt in Ihren Docker-Container übertragen wurde:
md5sum myfile.txt
d41d8cd98f00b204e9800998ecf8427e myfile.txt
docker exec -it e350390fd549 md5sum /root/myfile.txt
d41d8cd98f00b204e9800998ecf8427e /root/myfile.txt