docker提交运行容器

当提交docker commit的正在运行的容器时,这是否创build了一个文件系统的一致快照?

我正在考虑这种方法来备份容器。 你只需要docker commit <container> <container>:<date> ,并将其推送到本地registry。

备份将是增量式的,因为提交会创build一个新层。

大量的层数也会大大地影响集装箱的性能吗? 有没有办法在以后的时间去除中间层?

编辑

通过一致性,我的意思是每个应用程序的devise是为了承受断电,应该能够从这个快照中恢复。 基本上这意味着快照启动后,文件不能改变。

同时我发现docker现在支持多个存储驱动程序(aufs,devicemapper,btrfs)。 不幸的是,几乎没有关于它们之间的差异以及它们所支持的选项的文件。

我想一致性就是你所定义的。

在扁平化和堆叠太多AUFS层的缺点方面,请参阅: https : //github.com/dotcloud/docker/issues/332

docker铺平了在那里。

我处于类似的情况。 我正在考虑不使用专用的数据卷容器,而是定期提交某种增量备份。 除了增量备份之外,团队开发方法还有很大的好处。 作为新手,您可以简单地通过docker pull一个已经包含所有需要运行,debugging和开发的数据的数据库镜像。

所以我现在要做的就是在commit之前暂停一下:

 docker pause happy_feynman; docker commit happy_feynman odev:`date +%s` 

据我所知,我现在没有问题。 但是这是一个发展中的机器,所以没有我在重载服务器上没有经验。