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

Ann*_*ina 9 containers docker

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

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

为此,我可以使用docker cp命令并尝试过,但由于docker not found未安装 docker,它给了我一个错误。

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

viv*_*d4v 12

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

$ docker cp mycontainer:/Project/userfiles.txt userfiles.txt
Run Code Online (Sandbox Code Playgroud)

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

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

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

9059e95cbe33 - Exited container ID/Name 
Run Code Online (Sandbox Code Playgroud)


Von*_*onC 6

使用(绑定安装)来确保 /Project 中写入的文件被持久化。

卷

这意味着您需要使用-v /host/path:/Project选项docker 运行您的图像。
有关最简单的方法(即与容器共享主机文件夹),请参阅“使用绑定安装