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

2017-01-01  本文已影响0人  yi_zhe

可插拔的存储驱动架构

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=<name>给dockerd命令, 或者在/etc/default/docker文件的DOCKER_OPTS行加入--storage-driver=<name>来指定存储驱动

共享存储系统和存储驱动

选择哪一个存储驱动

Paste_Image.png

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

上一篇下一篇

猜你喜欢

热点阅读