在Docker中提交正在运行的容器是否“安全”?

正如标题所说,安全意味着…正确的方式?

安全=一致,没有数据丢失,专业,合法的方式。

希望与专业的docker用户分享一些经验。

Q.提交运行docker容器是安全的(除了快速变化的实时内容和数据库的东西,你自己的评论是赞赏。)

是或否回答被接受与评论。 谢谢。

所有内存和硬盘存储都保存在容器实例中。 您应该只要不使用任何外部安装/泊坞窗卷和服务器(外部连接的数据库?)就不会因为停止/重新启动和合并泊坞窗而陷入困境。 请继续阅读,以深入了解这个话题。

一开始你可能会想问自己的一个问题是,docker在运行时如何对磁盘进行更改? 什么是真正的甜心检查,是docker实际上是如何设法得到这个工作。 容器硬盘的原始状态是从映像中获得的。 它不能写入这个图像。 与写入图像不同,差异是由容器内部状态的变化与泊坞窗图像中的内容相比而定。 Docker使用名为“ Union Filesystem ”的技术,在Docker镜像的初始状态之上创build一个diff层。

这个“diff”(在下面的图片中被称为可写容器 )被存储在内存中,当你删除你的容器时会消失。 当你使用docker commit时,保留在容器的临时“状态”中的可写容器存储在一个新的映像中,但是:我不build议这样做。 您的新docker图像的状态不在docker文件中表示,并且不能从重build中轻松地重新生成。 制作一个新的dockerfile应该不难。 所以对我个人来说,这是一路走来。

当您的泊坞窗正在处理装入的卷,外部服务器/数据库时,您可能需要确保不会出现同步并暂时停止泊坞窗容器内的服务。 当你使用一个dockerfile的时候,你可以在你的容器中启动一个引导shell脚本来启动连接,执行检查并初始化运行过程,以便持久地设置你的应用程序。 再次,运行一个承诺的容器使得难以做到这样的事情。

联盟文件系统