我正在使用带有虚拟机的 ubuntu 18.04 在远程 GPU 服务器上运行我的程序。我在 docker 中运行我的程序,我想将 docker 容器中的绘图文件传输到虚拟机中的本地文件目录。我以前将scp
本地文件从虚拟机传输到 docker 容器,但现在我想将程序结果、绘图文件传输回虚拟机中的本地文件目录。我如何在 Ubuntu 中执行此操作?有什么想法吗?
这是我之前做的:
scp -P 8080 ./Downloads/my_func.py [email protected]:data
对我来说,将文件从本地传输到远程 docker 容器效果很好,但反向传输却不起作用,或者我在命令中犯了错误。
这是当前驻留在docker容器中的文件列表(来自docker shell):
root@d3576359f9ac:/data# ls
cnn_mobnet.py cnn_ResNet50.py cnn_mobnet_v1.py
cnn.py cnn_mobnet_loss_curve.png cnn_00.py mobnet_test.py
我的尝试:
我尝试将其复制cnn_mobnet_loss_curve.png
到虚拟机中的本地文件目录,但是不起作用:
scp data/cnn_mobnet_loss_curve.png :./Downloads
我也试过了,docker cp data/cnn_mobnet_loss_curve.png :./Downloads
但它给了我一个错误,说 docker 命令无法识别。有什么想法吗?从 docker shell,我如何将 docker 容器中的文件传输或复制到本地文件目录?有什么想法吗?
我想将cnn_mobnet_loss_curve.png
当前 docker 容器复制或传输到./Downloads
虚拟机中。我该怎么做?有没有办法将文件从远程 docker 容器传输到 Ubuntu 中的本地?我如何从 Ubuntu 中的终端执行此操作?有什么想法吗?
答案1
docker ps
然后,一旦您获得了容器 ID,您就可以运行以下命令:
docker cp container_id:/path/to/your_file.txt /path/on/your/host
答案2
我认为你可以做类似这样的事来做你想做的事。从你的终端尝试一下:
me@myvirtualbox: ~$ scp -p 8080 [email protected]:data/plot.png ./Downloads
您应该提供远程端点的密码,上述解决方案应该适合您。