Docker从入门到精通<7>-docker存储引擎选择
Docker存储引擎选择
通常,以下配置适用于最新版本的 Linux 发行版:
Linux distribution | Recommended storage drivers | Alternative drivers |
---|---|---|
Docker Engine - Community on Ubuntu | overlay2 or aufs (for Ubuntu 14.04 running on kernel 3.13) |
overlay ¹, devicemapper ², zfs , vfs |
Docker Engine - Community on Debian | overlay2 (Debian Stretch), aufs or devicemapper (older versions) |
overlay ¹, vfs |
Docker Engine - Community on CentOS | overlay2 |
overlay ¹, devicemapper ², zfs , vfs |
Docker Engine - Community on Fedora | overlay2 |
overlay ¹, devicemapper ², zfs , vfs |
¹)overlay
存储驱动程序已弃用,并将在未来版本中删除。建议overlay
存储驱动的用户迁移到overlay2
.
²)devicemapper
不推荐使用存储驱动程序,并将在未来版本中删除。建议devicemapper
存储驱动的用户迁移到overlay2
.
补充:
这
overlay
是一个非常快的联合文件系统。从3.18.0 开始,它现在已合并到主 Linux 内核中。overlay
还支持页面缓存共享,这意味着访问同一个文件的多个容器可以共享单个页面缓存条目(或条目),它使overlay
内存与aufs
驱动程序一样高效。打电话dockerd -s overlay
使用。它
overlay2
使用相同的快速联合文件系统,但利用Linux 内核 4.0 中添加的 附加功能来避免过度消耗 inode。打电话dockerd -s overlay2
使用。在
overlay
存储驱动程序可能导致过度的inode消耗(尤其是作为图像的数量的增加)。我们建议改用overlay2
存储驱动程序。
存储引擎所支持的文件系统
Storage driver | Supported backing filesystems |
---|---|
overlay2 , overlay |
xfs with ftype=1, ext4 |
fuse-overlayfs |
any filesystem |
aufs |
xfs , ext4 |
devicemapper |
direct-lvm |
btrfs |
btrfs |
zfs |
zfs |
vfs |
any filesystem |
补充:
1. overlay是一种Union FS文件系统,Linux内核3.18后支持
2. overlay2 是overlay的升级版,到目前为止,所有的Linux发行版推荐使用的存储引擎,需要注意的是 xfs 文件系统支持overlay2时,需要开启 ftype=1 这个参数,centos7.3以上版本才默认开启
3. devicemapper:CentOS和RHEL的推荐存储引擎驱动程序,因为之前的内核不支持overlay2,当时当前较新版本的CentOS和RHEL现在已经支持overlay2了,因此推荐使用overlay2。另外devicemapper存在空间使用的一些限制,虽然可以通过后期配置解决,但是官方依然推荐使用overlay2
4. zfs oracle开发的,没有被广泛使用
5. vfs用于测试环境,使用于无法使用copy-on-write文件系统的情况。此存储引擎驱动程序性能很差,通常不用于生产环境