我正在使用 docker 在我的本地开发环境中拥有版本控制的数据库(例如,能够快照/恢复数据库状态)。由于我的工作性质,我需要它。我不能使用事务来实现我想要的[原因之一 - 一些语句是 DDL]
所以,我有一个带有一个大文件的 docker 容器(MySQL Inno db 文件)
如果我稍微更改这个文件(比如更新表中的行),然后提交容器,将创建新层,并且该层的大小将是这个大文件的大小,即使文件中只有几个字节发生了变化。
我理解它的发生是因为 docker 文件是“原子”结构,如果文件被修改,它的副本会在新层中创建,并且该层稍后会包含在图像中
有没有办法改变这种行为并让 Docker 在文件级别存储差异,例如,如果 10 GiG 文件的 10 个字节被更改,创建大小小于 10 GiG 的层?
Mb 我可以使用其他一些存储引擎吗?[哪个?] 我也不是很依赖 docker,所以我什至可以切换到 rkt,问题是 - 你们认为它有帮助吗?(mb图像格式不同,可以存储文件内容级别的差异)