【发布时间】:2014-07-22 07:03:37
【问题描述】:
当使用docker commit 提交正在运行的容器时,这是否会创建文件系统的一致快照?
我正在考虑使用这种方法来备份容器。您只需 docker commit <container> <container>:<date> 并将其推送到本地注册表即可。
备份将是增量的,因为提交只会创建一个新层。
大量的层也会严重损害容器的 io 性能吗?有没有办法在稍后的时间点移除中间层?
编辑
我所说的一致是指每一个旨在在断电后幸存下来的应用程序都应该能够从这些快照中恢复。基本上这意味着在快照启动后没有文件必须更改。
同时我发现 docker 现在支持多个存储驱动程序(aufs、devicemapper、btrfs)。不幸的是,几乎没有任何文档说明它们之间的差异以及它们支持的选项。
【问题讨论】:
-
如果您的 docker 映像有卷,请注意
docker commit永远不会提交这些已安装卷中的文件