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

时间:2014-12-04 07:01:03

标签: docker

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

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

希望与专业码头用户分享一些经验。

Q值。提交对于运行docker容器是安全的(除了快速变化的实时内容和数据库内容之外,您自己的评论也很受欢迎。)

是或否答案被接受并发表评论。谢谢。

1 个答案:

答案 0 :(得分:4)

所有内存和硬盘存储都保存在容器实例中。您应该,只要您不使用任何外部安装/泊坞器卷和服务器(外部连接的数据库?),就不会遇到停止/重启和停靠码头工人的麻烦。请继续阅读以深入了解这一主题。

您最初可能想问自己的问题是,docker如何在运行时存储对其磁盘所做的更改?什么真的很好看,是docker实际上如何设法让这个工作。容器硬盘的原始状态是从图像中给出的。它可以写入此图像。与docker图像中的内容相比,diff不是写入图像,而是由容器内部状态的变化构成。 Docker使用名为" Union Filesystem"的技术,它在docker镜像的初始状态之上创建一个diff层。

这"差异" (在下图中引用为可写容器)存储在内存中,并在删除容器时消失。当您使用docker commit时,保留在临时"状态"中的可写容器容器的内容存储在新图像中,但是:我不建议这样做。新docker镜像的状态未在dockerfile中表示,并且无法从重建中轻松重新生成。制作一个新的dockerfile应该不难。所以这对我个人而言总是如此。

当您的泊坞窗使用已装入的卷,外部服务器/数据库时,您可能希望确保不要同步并暂时停止在docker容器内的服务。当您使用dockerfile时,您可以在容器内启动引导程序shell脚本以启动连接,执行检查并初始化正在运行的进程以使应用程序得以持久设置。同样,运行一个已提交的容器会让你更难做到这样的事情。

Union Filesystem