Docker存储驱动的选择

翻译自官网:Docker storage drivers

名词解释

英文 中文
Storage drivers 存储驱动
理想的状态是,几乎没有数据会被写入容器可写层,而且使用Docker volumes来写数据。但是,一些工作场景要求你可以在容器可写层写入数据。这就引入了下面的存储驱动。
Docker 利用可插拔的架构支持几个不同的存储驱动。这种存储驱动在Docker宿主机上控制了镜像和容器的管理和存储。
当你读了storage driver overview之后,下一步就是为你的工作场景选择最好的存储驱动。为了做出这个选择,你需要考虑下面三个高级别的因素:
  • 如果你的内核支持多种驱动,而且你没有在Docker配置指定某种存储驱动,Docker会根据下面场景列出存储驱动的优先级。

    • 如果可能,使用最小配置量的存储驱动,比如 btfs 或者 zfs。
    • 否则,在大多数应用场景下尝试使用最佳综合性能的存储驱动。
      • 首选overlay2, 次之overlay。这两者都不需要额外的配置。
      • devicemapper可以作为第三选择,但是在生产环境推荐 direct-lvm,因为 loopback在零配置时性能极差。
    • 这些选择的顺序已经在Docker源码中定义好了。你可以在Docker CE 18.03 源码 查看这个顺序。你可以通过使用顶部的试图选择不同分支来查看不通版本。
  • 你的选择往往要考虑Docker版本、操作系统和部署。例如,aufs 只支持Ubuntu和Debian,而或许需要安装额外的包。btrfs 只支持 SLES, 并且只适用Docker EE。参考 Support storage drivers per Linux distribution。如下文中Docker CE的支持。

  • 一些存储驱动需要你在后台文件系统使用特殊格式。如果你的文件系统有其他特殊要求,这将会限制你的选择。参考Supported backing filesystems。 如下:

Storage driver Supported backing filesystems
overlay, overlay2 ext4, xfs
aufs ext4, xfs
devicemapper direct-lvm
btrfs btrfs
zfs zfs
  • 如果你已经通过自己的工作环境条件和稳定性的需求,缩小了选择范围。可以参考 Other considerations 做出最终选择。

每个Linux发行版所支持的存储驱动

Supported storage drivers per Linux distribution

最重要的是,你的Docker版本首先决定了支持哪些存储驱动
其次,Docker不推荐你因某些配置而关闭你的系统安全防护。比如你在CentOS上使用 overlay或者overlay2时关掉 selinux。

Docker EE和 CS-Engine

对于Docker EE和 CS-Engine, Product compatibility matrix 可以明确说明哪些存储驱动是被支持的。你必须使用可行的配置才能获得Docker商业支持。

Docker CE

对于Docker CE, 只有一些配置是验证过的,可能你的操作系统内核并不支持所有的存储驱动。Linux发行版通常使用下面的配置。
Linux distribution Recommended storage drivers
Docker CE on Ubuntu aufs, devicemapper, overlay2 (Ubuntu 14.04.4 or later, 16.04 or later), overlay, zfs, vfs
Docker CE on Debian aufs, devicemapper, overlay2 (Debian Stretch), overlay, vfs
Docker CE on CentOS devicemapper, vfs
Docker CE on Fedora devicemapper, overlay2 (Fedora 26 or later, experimental), overlay (experimental), vfs
如果可能,overlay2 应该作为首选。当第一次安装Docker的时候,overlay2被默认使用。之前,是aufs被 默认使用,现在已经没有这样的用例了。如果你想在新安装用aufs,一定要先配置好,并且安装额外的包,比如:linux-image-extra。参考 aufs
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 近几年 Docker 风靡技术圈,不少从业人员都或多或少使用过,也了解如何通过 Dockerfile 构建镜像,从...
    43ce3d72fadb阅读 1,964评论 0赞 2
  • 早上有个朋友问我:当你看到不对的事情,你难道要当一个盲人吗?当时我沉默,不知道如何回答。下午正好看到李开复的《向死...
    枫丹白露苏眉鱼阅读 590评论 0赞 4
  • 人生的基本 1、一切自己负责,指责他人无济于事。 2、凡是忍耐,不要动不动就暴怒。 3、珍惜当下,过去不忘,做好的...
    不美千树阅读 474评论 0赞 2
  • 因为年已经过完,自然就想着,这一年有什么目标,有什么规划。所有今天就一直在看这方面的书。下面分享一下我觉得值...
    爱阳阳爱读书阅读 210评论 0赞 1
  • 窗之外,鸟儿啾啾啾 春风中 寻觅,寻觅 风不懂鸟儿的心思 鸟儿不知风儿的呢喃 江之边,草儿青青 花儿艳艳 花不懂草...
    简书杭杭阅读 312评论 7赞 13

友情链接更多精彩内容