当主机非正常关闭时,docker 容器中的文件会发生什么情况?

What happens to files in docker container when host is shut down ungracefully?

假设我有一个 docker 容器 运行 一些应用程序,有时会将一些数据写入未映射到主机的文件夹中的文件。假设主机以不正常的方式关闭(例如拔掉电源线),存储在容器内但未映射到主机的文件会发生什么情况?他们会坚持吗?它会被删除吗?

文件已删除。容器本质上是短暂的。当容器启动时,它会在图像顶部创建一个新的可写层,并且您所做的任何更改都在该层上。如果您没有 storing/mapping 将数据分层到某个持久位置,那么一旦容器或 Docker 守护程序或主机重新启动,所有数据都会丢失。

如果您的系统发生此类电源断开或崩溃,容器将进入停止状态,并且您在电源断开之前保存的任何数据都将保留在容器文件系统中,只要它没有被终止。您可以通过重新启动该容器来再次访问您的数据。

但是是的,正如 Dashrath Mundkar 和 xxxvodnikxxx 在他们对容器集群环境的回答中所说的那样,它会被杀死并在它的位置启动新的,所以如果它没有存储在任何容器中,你将丢失所有数据永久挂载存储。