docker 目前支持的联合文件系统种类包括AUFS、 btrfs、Device Mapper、 overlay 、 overlay2、vfs、zfs 等。多种文件系统目前的支持情况总结如下:
AUFS: 最早支持的文件系统,对于Debian/Ubuntu 支持好,虽然没有合并到Linux内核中,但成熟度很高
btrfs: 参考zfs等特性设计的文件系统,由Linux社区开发,视图未来取代Device Mapper,成熟度有待提高
Device Mapper: RedHat 公司和Docker 团队一起开发用于支持RHEL的文件系统,内核支持,性能略慢,成熟度高
overlay: 类似于AUFS的层次化文件系统,性能更好,从Linux 3.18 开始已经合并到内核,但成熟度有待提高
overlay2: Docker 1.12 后推出,原生支持128层,效率比OverlayFS高,较新的版本Dokcer支持
vfs: 基于普通文件系统(ext、nfs等)的中间层抽象,性能差,比较占用空间,成熟度也一般
zfs: 最初设计为Solarias 10 上的写时文件系统,拥有不少好的特性,但对于linux 支持还不够成熟