温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Docker存储驱动的特性有哪些

发布时间:2021-11-19 11:04:54 阅读:211 作者:小新 栏目:云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

小编给大家分享一下Docker存储驱动的特性有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

可插拔的存储驱动架构

  Docker的存储驱动架构是可插拔的,可以让你很方便的将适合你环境和用例的存储驱动“插进”Docker。每个Docker存储驱动都建立在一种Linux文件系统或者卷管理系统之上,也可以很自由地按照其自己的方法去实现镜像层和容器层的管理。也就是说一些存储驱动在不同的场景下会比其他的驱动性能更好。
  一旦你决定了哪种驱动最合适,你就可以Docker daemon启动之前设置驱动到Docker中,这样你就可以在该存储驱动上运行Docker daemon了,所有新容器都会使用这个驱动来创建了。下图显示了支持的驱动技术和它们对应的Docker存储驱动名称。
  

TechnologyStorage driver name
OverlayFSoverlay / overlay2
AUFSaufs
Btrfsbtrfs
Device Mapperdevicemapper
VFSvfs
ZFSzfs
  可以通过docker info命令来查看当前daemon使用着哪种存储驱动。
$ docker info

Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 1
Server Version: 1.12.6
Storage Driver: overlay2
 Backing Filesystem: extfs
... output truncated ...

  上面的输出表示,Docker daemon使用overlay2作为存储驱动,而其Backing Filesystem是extfs。也就是说,在我的环境中,overlay2存储驱动是在ext文件系统上操作的。后端文件系统指的是创建了Docker host的本地存储区域/var/lib/docker的文件系统。
  存储驱动,可以运行在某种后端文件系统上,但也有些不支持的后端文件系统,它们之间的对应关系如下表:

Storage driver后端文件系统不支持的后端文件系统
overlayext4 xfsbtrfs aufs overlay zfs eCryptfs
overlay2ext4 xfsbtrfs aufs overlay zfs eCryptfs
aufsext4 xfsbtrfs aufs eCryptfs
btrfsbtrfs onlyN/A
devicemapperdirect-lvmN/A
vfsdebugging onlyN/A
zfszfs onlyN/A
  想要设置存储驱动,可以在dockerd启动的时候加入--storage-driver=<name>的参数,也可以设置DOCKER_OPTS选项到/etc/default/docker文件中。下面的命令显示了如何在dockerd命令中使用devicemapper存储驱动。

$ dockerd --storage-driver=devicemapper &

$ docker info

Containers0
Images0
Storage Driver: devicemapper
 Pool Name: docker-252:0-147544-pool
 Pool Blocksize65.54 kB
 Backing Filesystem: extfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used1.821 GB
 Data Space Total107.4 GB
 Data Space Available3.174 GB
 Metadata Space Used1.479 MB
 Metadata Space Total2.147 GB
 Metadata Space Available2.146 GB
 Thin Pool Minimum Free Space10.74 GB
 Udev Sync Supportedtrue
 Deferred Removal Enabledfalse
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version1.02.90 (2014-09-01)
Execution Driver: native-0.2
<output truncated>

  存储驱动的选择会影响你容器应用的性能,所以很有必要理解存储驱动之间的区别和优缺点,然后才能选择合适的驱动。

共享存储系统和存储驱动

  很多企业都从共享文件系统(如SAN和NAS)中获取存储资源。通常情况下,这都能带来更好的性能和更高可用性,还有如超配、副本删除、压缩等高级特性。
  Docker存储驱动和数据卷都可以运行在这些共享存储系统提供的存储上,这使得Docker可以利用这些系统提供的优越性能和可用性。

使用哪种存储驱动呢?

  很多方面都会影响存储驱动的选择,不过有两点必须记住:
    ▶没有哪种驱动适合所有的用户场景;
    ▶存储驱动一直都在提升和改进;
  此外,下面的内容,也可以提供一些指导意见。

稳定性

  为了Docker环境更加稳定,你应该考虑一下一些建议:
    ▶使用你OS发行版默认的存储驱动。安装Docker时,它会根据你的系统选择默认的存储驱动,稳定性是它选择的一个主要方面。
    ▶遵守CS Engine compatibility matrix指定的配置。CS Engine是Docker Engine的商业化版本,它代码基于开源的Engine。不过它有一套限制的支持配置,而这个支持的配置使用最稳定成熟的存储驱动。

经验和专业技能

  选择你和你的团队都有经验的一种存储。比如,你使用RHEL系列的OS,你可能对LVM和Device Mapper很有经验,因此,你应该使用devicemapper存储驱动。
  如果你对Docker提供的存储驱动都没有经验,并且你希望使用简单可用的稳定的Docker环境,那么你可以考虑使用你发行版默认的Docker存储驱动。

看完了这篇文章,相信你对“Docker存储驱动的特性有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/styshoo/blog/858887

AI

开发者交流群×