Docker存储驱动初探

发布于:2024-10-24 编辑:匿名 来源:网络

我的公众号:海天二路砖工 1.简介 Docker的出现彻底改变了应用程序开发和部署的方式。 Docker技术利用Docker镜像、容器和分层文件系统的巧妙组合,轻松打包应用程序及其依赖项,并在不同环境中以一致的方式运行。

Docker 镜像包含应用程序及其运行所需的环境的快照。它是静态的、不可变的,由多个只读层和一个可写层组成。

容器提供了一个隔离的操作环境,允许应用程序在其中运行并读取、写入和存储数据。如何管理容器中的数据以及如何与主机交互都是通过Docker存储驱动来实现的。

本文将深入研究 Docker 存储驱动程序,从选择合适的存储驱动程序到它们的工作方式,再到最佳实践和性能优化。我们将重点关注一些常见的存储驱动程序,例如 Overlay2、AUFS 和 Device Mapper,以及其他存储选项,例如 Btrfs 和 VFS。

2. Docker 存储驱动简介 什么是 Docker 存储驱动 Docker 存储驱动是 Docker 中的核心组件,负责管理容器的文件系统和数据。存储驱动程序的主要功能是定义如何组织、存储和检索容器的数据,以便容器可以访问、写入和读取数据。

存储驱动程序确定容器内的文件系统层次结构以及它如何与主机文件系统交互。常见的 Docker 存储驱动有哪些? Docker提供了多种不同的存储驱动选项,以满足不同的使用场景和需求。

以下是一些常见的 Docker 存储驱动程序: Overlay2:Overlay2 存储驱动程序是 Docker 的默认存储驱动程序。它采用OverlayFS技术,支持写时复制(Copy-on-Write)。

在性能和稳定性方面表现良好,特别适合生产。环境。

AUFS:AUFS 存储驱动程序使用另一个也支持写时复制的联合文件系统。虽然 AUFS 在某些旧版本的 Docker 中常用,但在较新的版本中,Overlay2 取代了它。

设备映射器:设备映射器存储驱动程序使用底层块设备来支持高级存储管理功能,例如快照和精简写入。适用于需要高级存储能力,但需要仔细配置的场景。

Btrfs:Btrfs 存储驱动程序利用 Btrfs 文件系统的功能,支持写时复制和快照。它适用于需要高级文件系统功能的环境。

VFS:VFS存储驱动是Docker原生的存储驱动,提供基本的文件系统功能。它通常用于测试或开发目的,不适合生产环境。

ZFS:ZFS 存储驱动程序使用 ZFS 文件系统提供高级数据管理和文件系统功能。适用于需要高级存储功能,但需要较多配置和管理工作的场景。

3. Overlay2存储驱动 Overlay2存储驱动介绍 Overlay2存储驱动是Docker默认的存储驱动,负责管理容器的文件系统和数据。 Overlay2存储驱动在性能和稳定性方面表现出色,特别适合生产环境。

Overlay2存储驱动工作原理 Overlay2是基于OverlayFS技术的。 OverlayFS原理:OverlayFS是一个联合文件系统,可以在单个Linux主机上堆叠两个目录并将它们呈现为单个目录。

两个堆叠的目录称为“层”,合并它们的过程称为“联合挂载”。在OverlayFS中,底层目录称为“lowerdir”,上层目录称为“upperdir”。

用户可以访问这两个目录的内容,但这个统一的视图是通过一个名为“merged”的单独目录公开的。上层:这是容器的可写层,包含容器内部生成的文件和数据。

当容器执行写操作时,Overlay2存储驱动程序会在上层创建一个新的文件或目录,而不直接修改底层。这种写时复制方法确保了容器的数据隔离和不变性。

Lower层:这是Docker镜像的最底层,包括基本的文件系统和镜像中的文件。这些文件在所有容器之间共享,从而实现跨多个容器的高度重用并节省存储空间。

当容器启动时,Overlay2存储驱动程序以只读模式挂载底层,并在上层创建一个可写的挂载点。这使容器可以访问底层的文件,允许它们修改和创建新文件,并将这些修改保存在上层中。

这种架构确保了容器的数据隔离和快速启动时间。Overlay2存储驱动的优缺点 Overlay2存储驱动的优缺点: 高性能:Overlay2是一个轻量级的存储驱动,可以利用分层存储机制实现高性能、高效的容器操作。

快速容器启动:Overlay2的层堆叠机制可以让容器快速启动。由于基础镜像层是共享的,因此只有在容器层添加或修改的文件需要额外的存储空间,而不是整个镜像。

可读:Overlay2使用标准的Linux文件系统功能使容器文件系统在主机上可读,这对于调试和监控容器非常有用。容器可移植性:Overlay2 允许容器和镜像在不同的 Docker 主机之间移植,因为它不依赖于底层文件系统的特定实现。

稳定性:Overlay2存储驱动是Docker默认的存储驱动,在稳定性和可靠性方面已经得到充分验证。 Overlay2存储驱动的缺点: 兼容性:在某些旧版本的Linux内核中,可能不支持Overlay2存储驱动,这可能会导致在某些系统上无法使用。

因此,在选择Overlay2存储驱动时,需要保证与主机操作系统和内核版本的兼容性。存储需求:虽然Overlay2是一个轻量级的存储驱动,但是当容器层较多时,它可能会占用更多的磁盘空间。

不适合大规模写入:大规模写入文件时,Overlay2 可能表现不佳,因为它需要向容器层写入比原始镜像更多的文件。 4. 其他存储驱动程序 **BTRFS** Btrfs(B 树文件系统)是一种现代、先进的 Linux 文件系统,旨在提供高水平的数据完整性、可扩展性和性能。

Btrfs 引入了许多高级功能,包括快照、检查和修复、压缩、在线扩展和多设备支持。其设计目标是提高文件系统的稳定性和可管理性,以满足现代计算机系统的需求。

使用 Btrfs 存储驱动程序时,整个 /var/lib/docker/ 目录存储在 Btrfs 卷上。有关镜像层和可写容器层的信息存储在 /var/lib/docker/btrfs/subvolumes/ 中。

该子目录包含每个映像或容器层一个目录,以及从一层及其所有父层构建的统一文件系统。整体结构就像一棵B树。

上图显示了 4 个子卷。 “子卷 2”和“子卷 3”是嵌套的,而“子卷 4”则显示其自己的内部目录树。

Device MapperDevice Mapper 是一个基于内核的框架,Docker 的 devicemapper 存储驱动程序利用其精简配置和快照功能来进行映像和容器管理。 devicemapper 驱动程序使用 Docker 特定的块设备并在块级别(而不是文件级别)运行。

可以通过向 Docker 主机添加物理存储来进行扩展,并且它们的性能比在操作系统 (OS) 级别使用文件系统更好。使用 devicemapper 存储驱动程序时, /var/lib/docker/devicemapper/metadata/ 目录保存有关 Devicemapper 配置本身以及存在的每个映像和容器层的元数据。

Devicemapper 使用快照将每一层中引入的差异存储为一个非常小的、轻量级的精简池。快照信息存储在容器层的元数据中。

**ZFS**ZFS 是下一代文件系统,支持许多先进的存储技术,例如卷管理、快照、校验和、压缩和重复数据删除、复制等。但由于 CDDL 和 GPL 之间的许可不兼容,ZFS 不能作为主线 Linux 内核的一部分。

ZFS 使用以下三个对象来支持其工作: 文件系统:文件系统是 ZFS 的核心对象,用于组织和管理数据。与传统文件系统类似,ZFS 文件系统允许您存储和组织数据,但具有数据完整性、容量管理、数据压缩和高级缓存等高级功能和特性。

快照:ZFS 支持快照,快照是文件系统的只读副本,用于捕获文件系统在特定时刻的状态。快照可用于数据备份、版本控制、数据恢复和测试。

ZFS 快照非常高效,因为它们不会立即占用额外的磁盘空间,而是利用写时复制技术来保存文件系统状态。克隆:克隆是现有快照的可写副本。

您可以创建克隆来创建与原始文件系统的快照相同的新文件系统。克隆可用于创建环境隔离、测试、开发分支或任何需要原始数据的独立副本的情况。

克隆非常高效,因为它们与原始文件系统共享相同的数据块,并且仅在修改时才分配额外的磁盘空间。上图包含 ZFS 的两个主要步骤: 从文件系统创建只读快照。

从快照创建可写克隆。这包括与父层的任何差异。

**VFS** VFS 存储驱动程序不是联合文件系统;相反,每一层都是磁盘上的一个目录,并且不支持写入时复制。要创建新图层,需要对前一层进行“深层复制”,这极大地限制了其性能。

VFS 不是联合文件系统。相反,每个镜像层和可写容器层在 Docker 主机上都表示为 /var/lib/docker/ 中的子目录。

Docker存储驱动初探

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 当代码从服务器进入草莓时,首届“多多农研究科技大赛”入围名单揭晓

    当代码从服务器进入草莓时,首届“多多农研究科技大赛”入围名单揭晓

    科技的浪漫与魅力在于,你不仅可以做一个旁观者,还可以用它做点小事改变并让每个人生活在您帮助定义的世界中。 过去几年,我们对“算法”的拥抱一直悄无声息。 例如,打车不再依赖于天空。 网约车平台优化了人与车的连接,提高了车辆资源利用率,节省了乘客的等待时间。 短视

    06-18

  • 第五代iPad Air将于今晚开始预售,购买前需要注意这些

    第五代iPad Air将于今晚开始预售,购买前需要注意这些

    周三,苹果更新了iPad家族中综合素质最均衡的Air系列。 尽管第五代iPad Air(以下简称iPad Air 5)的设计并未发生明显改变,但在更换了5种新颜色后,人们仍然可以轻松地将其与上一代区分开来。 不过,在购买时,它的“对手”并不是上一代产品,而是更高端的iPad Pro和更低端的

    06-21

  • 国家大基金已完成二期募资规模约2000亿

    国家大基金已完成二期募资规模约2000亿

    近日,中国证券报记者从多个独立渠道获悉,国家集成电路产业投资基金(二期)(简称“国家集成电路产业投资基金”) “大基金二期”)募资工作已完成,规模约1亿元。 一些企业正在与国家大型基金接洽,商讨二期投资方式。 去年3月,中国证券报独家报道称,大基金二期计划已上

    06-06

  • 北鲲云公司完成B、B+两轮融资,君联资本、中南集团投资,

    北鲲云公司完成B、B+两轮融资,君联资本、中南集团投资,

    据投资界(ID:pedaily)10月17日消息,近日,深圳市北鲲云计算股份有限公司(简称:北鲲云)先后完成两轮B、B+融资。 两轮融资分别由君联资本和中南集团投资。 两轮融资均由毅仁资本独家提供。 北鲲云将利用新资金加速产品创新,拓展行业广度和深度,着力打造Cloud-HPC领先品

    06-17

  • 京西产业引导基金医疗健康子基金启动

    京西产业引导基金医疗健康子基金启动

    投资界(ID:pedaily)消息,2019年6月13日,以“转型、新机遇新发展看京西”活动在北京市石景山区首钢园区举办。 论坛上,白洋投资集团总裁李震与北京市门头沟区委副区长书记、区长吕晨飞签署合作意向书,共同设立“白洋门头沟大健康创新投资基金”。 该基金将主要关注创新药

    06-18

  • 智能高空机器人公司石河科技完成A轮1亿元融资,由中为资本

    智能高空机器人公司石河科技完成A轮1亿元融资,由中为资本

    投资圈领投(ID:pedaily)据6月4日消息,智能高空机器人公司Robot++“石河”科技”已于今年1月完成1亿元A轮融资。 本轮投资由中为资本领投,合唐创投跟投,老股东百度创投、启迪之星跟投。 本轮资金主要用于新产品研发及市场推广。 近三年来,世禾科技累计完成天使轮至A轮近

    06-17

  • 神州租车拟融资至多4.68亿美元赴港IPO

    神州租车拟融资至多4.68亿美元赴港IPO

    据路透社报道,中国最大的汽车租赁公司神州租车已启动香港首次公开募股(IPO)计划并计划筹集高达4.68亿美元(约合36.2亿美元)的资金。 亿),所得款项主要用于扩大船队和减少债务。   人士还表示,该公司以美国汽车租赁公司赫兹(HTZ.N)和私募股权公司华平为股东,将于

    06-18

  • IDC:一季度中国IT安全硬件市场规模约5.4亿美元,同比增长14.5% IDC发布的

    IDC:一季度中国IT安全硬件市场规模约5.4亿美元,同比增长14.5% IDC发布的

    《年第一季度中国IT安全硬件市场跟踪报告》显示,2019年中国IT安全硬件市场规模一季度约5.4亿美元(约34.2亿元人民币),同比增长14.5%;政府、运营商、金融仍然是网络安全硬件支出的三大行业。 今年一季度,关键信息基础设施相关行业仍保持快速增长,教育、医疗等行业受项目

    06-18

  • 工信部:292家机构上榜2021年国家中小企业公共服务示范平台名单

    工信部:292家机构上榜2021年国家中小企业公共服务示范平台名单

    上头条12月7日,工信部公布了年度国家中小企业公共服务示范平台名单中小企业公共服务示范平台,国家中小企业公共服务示范平台共计292个。 名单上包括北京智瓜瓜科技服务有限公司、北京车库咖啡孵化器运营管理有限公司等机构。 据了解,国家中小企业公共服务示范平台得到了工信

    06-18

  • 智能化数字健康平台「微医」获超10亿元新一轮融资,山东国资领投

    智能化数字健康平台「微医」获超10亿元新一轮融资,山东国资领投

    智能数字健康平台“微医”获新一轮超10亿元融资,由山东省国资实业(ID:pedaily)领投。 7月5日,投资界(ID:pedaily)消息,数字医疗平台微医获超10亿元新融资。 由山东省国有产业投资基金领投的A轮融资。 据悉,除了山东国资外,还有多地国有产业投资基金正在与微医洽谈,

    06-17

  • 布局第三代半导体赛道,格恩半导体获创和新材基金投资

    布局第三代半导体赛道,格恩半导体获创和新材基金投资

    投资圈(ID:pedaily)据10月27日消息,创和新材基金完成对安徽格恩半导体有限公司的独家投资。 格恩半导体主要从事高端化合物半导体外延材料、芯片和器件的研发、生产和销售。 目前已具备高功率半导体激光器、紫外LED、高功率LED的量产能力。 许多产品已被国产产品替代。 是

    06-18

  • 优客工场获爱康集团2亿元战略股权投资,众创空间与产业融合日益紧密

    优客工场获爱康集团2亿元战略股权投资,众创空间与产业融合日益紧密

    据投资界7月4日消息,今日,国内联合办公公司优客工场,宣布获得爱康集团2亿元人民币投资。 元战略股权投资。   据了解,投资完成后,北京爱康集团将与优客工场共同打造具有创新特色和垂直服务内容的全新联合办公空间。 预计今年上半年投入使用。 双方还将共同探索创新创业

    06-18