从运行docker容器中获取文件?

从运行docker容器中获取文件?,docker,Docker,我想到了这个主意,我不知道它是否可行 假设您删除了一堆文件,这些文件恰好安装在docker容器中 因为容器仍在运行,所以文件由容器保存,即使它们对主机不再可见 因此,容器内的流程仍然可以使用它们。直到容器停止/重新启动,它们才会最终消失 如果你想要回那些文件呢?你意识到你犯了一个错误,你想把那些文件带回来。从容器内部看到的文件是否可以通过某种方式达到这一目的?如果使用-v标志装载主机目录,如果从主机的月路径中删除文件,它也不会显示在容器内部 因此,容器内的流程仍然可以使用它们。 直到容器停止/

我想到了这个主意,我不知道它是否可行

假设您删除了一堆文件,这些文件恰好安装在docker容器中

因为容器仍在运行,所以文件由容器保存,即使它们对主机不再可见

因此,容器内的流程仍然可以使用它们。直到容器停止/重新启动,它们才会最终消失


如果你想要回那些文件呢?你意识到你犯了一个错误,你想把那些文件带回来。从容器内部看到的文件是否可以通过某种方式达到这一目的?

如果使用
-v
标志装载主机目录,如果从主机的月路径中删除文件,它也不会显示在容器内部

因此,容器内的流程仍然可以使用它们。 直到容器停止/重新启动,它们才会 终于走了


可能您案例中的流程在启动时需要所有必需的文件,因此,在这种情况下,可以删除nginx.conf,但当它重新启动时会失败,并且只会在您重新启动流程时发生影响,因此在这种情况下,您的假设是有意义的,但根据复制文件则没有意义

由于容器仍在运行,因此文件由容器保存,即使它们对主机不再可见。
什么?@tkausl
lsof | grep'DELETED'
仍将显示它们。如果您注意到
df-h
显示的内容与
du-hs/
显示的内容之间存在很大差异,这就是为什么:一个进程仍然保留删除的文件。好吧,我想是这样,但最好还是问一下。