我有一个运行正常的docker容器。它在目录/Project/userfiles.txt
中生成一些文件。我需要这些文件用于某些测试目的。但是当这个容器停止时,一切都将被删除。所以我需要将这个文件从容器复制到主机。
我在生成文件的容器中运行了一个python应用程序。我想要一些命令或任何方式,当容器停止时,我可以通过它将userfiles.txt
发送到主机。
为了做到这一点,我可以使用docker cp
命令,但我尝试了它,但由于没有安装docker,它给了我一个错误docker not found
。
如何将文件从容器共享到主机?
答案 0 :(得分:1)
使用 volume (绑定挂载)确保/ Project中写入的文件保持不变。
这意味着您需要使用-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