Docker容器中大文件的小变化会产生巨大的层

时间:2015-10-06 21:04:19

标签: docker btrfs rocket

我正在使用docker在我的本地开发环境中拥有版本化数据库(例如,能够快照/恢复db状态)。由于工作性质,我需要它。我无法使用事务来实现我想要的[原因之一 - 一些语句是DDL]

所以,我有一个大文件(MySQL Inno db文件)的docker容器

如果我稍微更改此文件(如表中的更新行),然后提交容器,将创建新图层,此图层的大小将是此大文件的大小,即使只有几个字节文件已更改。

我理解这是因为docker文件是'原子'结构,如果文件正在被修改,它的副本是在新图层中创建的,而这个图层后来包含在图像中

有没有办法改变这种行为并让Docker在文件级别存储差异,例如如果更改了10个字节的10 GiG文件,请创建大小小于10 GiG的图层?

Mb我可以使用其他一些存储引擎吗? [哪一个?] 我也不太喜欢停靠者,所以我甚至可以切换到rkt,问题是 - 你们认为它可以帮助吗? (mb图像格式不同,可以在文件内容级别存储差异)

0 个答案:

没有答案