13. Docker引擎 - 选择存储驱动

可插拔的存储驱动架构

Docker支持可插拔的存储引擎架构, 给予用户根据自己实际的环境选择不同存储引擎的灵活性. 每一种存储驱动都是基于一种Linux文件系统或者卷管理器, 所以存储驱动能够自由地实现对镜像层和容器层的处理, 这也就意味着, 在特定场景下一些存储驱动比其他存储驱动更高效.

Docker支持的存储驱动技术和它们对应的驱动名字

技术 存储驱动名字
OverlayFS overlay 或 overlay2
AUFS aufs
Btrfs btrfs
Device Mapper devicemapper
VFS vfs
ZFS zfs

使用docker info命令可查看正在使用何种存储驱动

[root@localhost ~]# docker info
...
Storage Driver: devicemapper
...
Backing Filesystem: xfs
...
[root@localhost ~]#

上面的信息表明, Docker daemon使用devicemapper存储驱动, Backing Filesystem是xfs, 意味着devicemapper驱动操作的是一个xfs文件系统, backing filesystem指出了Docker宿主在/var/lib/docker下使用的文件系统.

使用何种存储驱动部分上决定于Docker本地存储区域使用的文件系统, 有些存储驱动支持多种文件系统, 有些则不然

存储驱动 通常用于何种文件系统 无法用于何种文件系统
overlay ext4 xfs btrfs aufs overlay overlay2 zfs eCryptfs
overlay2 ext4 xfs btrfs aufs overlay overlay2 zfs eCryptfs
aufs ext4 xfs btrfs aufs eCryptfs
btrfs btrfs only N/A
devecemapper direct-lvm N/A
vfs debugging only N/A
zfs zfs only N/A

可以传递--storage-driver=给dockerd命令, 或者在/etc/default/docker文件的DOCKER_OPTS行加入--storage-driver=来指定存储驱动

共享存储系统和存储驱动

选择哪一个存储驱动

  • 稳定性
    • 使用Linux发行版默认的存储驱动
    • 遵循商业支持版的配置
  • 经验和专业知识
    选取一个你的团队和组织熟悉的存储驱动,
  • 远景规划
    根据下图的特性进行选取
13. Docker引擎 - 选择存储驱动_第1张图片
Paste_Image.png
  • Overlay和Overlay2

OverlayFS有两种实现的存储引擎, 它们的实现是不同的, 在磁盘存储上也是不兼容的. 如果在这两者中切换, 会导致所有镜像都会重新创建, Docker1.11前只能使用overlay, 而Overlay2要求内核版本在4.0以上

你可能感兴趣的:(13. Docker引擎 - 选择存储驱动)