如何将文件从docker容器共享到主机

时间:2017-12-27 12:40:07

标签: docker containers

我有一个运行正常的docker容器。它在目录/Project/userfiles.txt中生成一些文件。我需要这些文件用于某些测试目的。但是当这个容器停止时,一切都将被删除。所以我需要将这个文件从容器复制到主机。

我在生成文件的容器中运行了一个python应用程序。我想要一些命令或任何方式,当容器停止时,我可以通过它将userfiles.txt发送到主机。

为了做到这一点,我可以使用docker cp命令,但我尝试了它,但由于没有安装docker,它给了我一个错误docker not found

如何将文件从容器共享到主机?

3 个答案:

答案 0 :(得分:1)

使用 volume (绑定挂载)确保/ Project中写入的文件保持不变。

volumes

这意味着您需要使用-v /host/path:/Project选项来停泊图像 有关最简单的方法(与容器共享主机文件夹),请参阅“Use bind mounts

答案 1 :(得分:1)

在主机上使用docker cp&不在容器内。在您的情况下,命令可能如下所示 -

$ docker cp mycontainer:/Project/userfiles.txt userfiles.txt

命令完成后,您将在运行docker cp命令的目录中获取主机上的文件。

PS - 即使您的容器处于停止状态,我刚检查它是否有效。例如 -

$ docker cp 9059e95cbe33:/etc/rc.local rc.local

9059e95cbe33 - Exited container ID/Name 

答案 2 :(得分:1)

使用以下命令:

docker ps -a

在使用 docker 运行的列的末尾获取 NAMES。

docker cp CONTAINER-NAMES:CONTAINER_DIR-to-copy PATH-to-Copy

示例:

docker cp <xxx_yyy>:/folder/path/in/Container/to/copy /home/user/path/to/copy