使用 docker commit
命令对正在运行的容器进行提交,这是否创建了文件系统的一致快照?
我考虑采用此方法备份容器。您只需要执行 docker commit <container> <container>:<date>
并将其推送到本地注册表。
备份是增量的,因为提交只会创建一个新层。
同时,大量层是否会严重影响容器的 I/O 性能?是否有一种方法可以在以后删除中间层?
编辑
所谓的“一致性”,是指任何设计用于应对断电的应用程序都应该能够从这些快照中恢复。基本上,这意味着在启动快照之后不得更改任何文件。
与此同时,我发现 docker 现在支持多个存储驱动程序(aufs、devicemapper、btrfs)。不幸的是,关于它们之间的差异和它们支持的选项,几乎没有任何文档。
docker commit
永远不会提交这些安装的卷中的文件。 - Thomasleveil