美文网首页
Docker存储驱动的选择

Docker存储驱动的选择

作者: bobozhangshao | 来源:发表于2018-05-18 15:57 被阅读0次

翻译自官网: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 只支持UbuntuDebian,而或许需要安装额外的包。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

相关文章

  • Docker存储驱动的选择

    翻译自官网:Docker storage drivers 名词解释 理想的状态是,几乎没有数据会被写入容器可写层,...

  • Docker-devicemapper存储驱动研究

    引言 Docker以插件的方式支持多种存储驱动,1.12.6版本的Docker支持的存储驱动包括overlay、a...

  • docker存储驱动

    一句话,docker 存储驱动用于管理docker 镜像和容器。 1. 镜像和层 在了解docker存储驱动之前,...

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

    可插拔的存储驱动架构 Docker支持可插拔的存储引擎架构, 给予用户根据自己实际的环境选择不同存储引擎的灵活性....

  • 3、docker入门

    docker状态 该命令会返回所有容器和镜像的数量、docker使用的驱动程序和存储驱动,以及docker的基本配...

  • Docker的存储驱动

    一、原理说明 写时复制(CoW) CoW就是copy-on-write,表示只在需要写时才去复制,这个是针对已有文...

  • docker1.13.1启用device-lvm后,无法启动的处

    docker 版本1.13.1 服务器centos 7.4 将存储驱动改为device-lvm后,docker ...

  • docker 命令

    查看 Docker:docker info 该命令会返回所有容器和镜像的数量、Docker 使用的执行驱动和存储驱...

  • docker容器存储驱动

    以下内容基于overlay2 overlay2为docker存储驱动的一种,负责容器读写(不会修改镜像原始数据)镜...

  • Docker存储驱动之DeviceMapper

    Docker中数据存储相关有几部分,存储驱动(storage driver)用于存储镜像和容器,默认路径为/var...

网友评论

      本文标题:Docker存储驱动的选择

      本文链接:https://www.haomeiwen.com/subject/evbgdftx.html