如何在 ubuntu 18.04 中将文件从 docker 容器传输/复制到本地目录?

如何在 ubuntu 18.04 中将文件从 docker 容器传输/复制到本地目录?

我正在使用带有虚拟机的 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

您应该提供远程端点的密码,上述解决方案应该适合您。

相关内容