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文件系统的情况。此存储引擎驱动程序性能很差,通常不用于生产环境

浙公网安备 33010602011771号