docker 存储管理

本文深入探讨了Docker的存储管理,特别关注overlay2驱动,介绍了其工作原理、配置方法,以及与其它存储驱动和卷挂载的对比。涵盖了生产环境下的选择建议和数据持久化解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker 存储管理

容器存储方案

docker 容器存储解决方案

存储驱动

由存储驱动实现的联合文件系统

外部挂载卷

以外部挂载卷为代表的持久化存储

docker 存储驱动

docker 镜像和容器的分层结构,就是由 docker 存储驱动来实现的

基本概述

存储驱动控制镜像和容器在 docker 主机上的存储和管理方式

联合文件系统

Union file systems (UnionFS),为Linux、FreeBSD、NetBSD 操作系统设计的,将其他文件系统合并到一个联合挂载点的文件系统,是 docker 重要的底层技术之一,可以通过创建层进行操作,轻巧和快速。

联合文件系统的多种变体

  • AUFS
  • Over;ayFS
  • Btrfs
  • BFS
  • DeviceMapper等

存储驱动

  • aufs
  • overlay
  • overlay2
  • devicemapper
  • btrfs
  • zfs
  • vfs等

联合文件系统实际是由存储驱动来实现的----》

存储驱动的选择原则

  • 生产环境使用具有最佳整体性能和稳定性的存储驱动
  • 内核支持多个存储驱动,存储驱动选择顺序在 docker 的源代码中定义
  • 优先使用 linux 发行版默认的存储驱动,docker 在安装的时候会根据当前系统的配置选择默认的存储驱动,默认驱动有好的稳定性,已经在发行版上经过了严格的测试
  • 个别存储驱动要求使用特定格式的底层文件系统
  • 选择存储驱动要取决于工作负载的特征和所需的稳定性级别

主流的 docker 存储驱动

存储驱动类型 说明
overlay2 当前主流Linux发行版的首选存储驱动,不需要额外配置(ubuntu14.04不支持)
aufs docker 18.06以前版本,aufs首选,只支持 ubuntu和debian,需要安装额外的包
devicemapper 以前centos和红帽推荐的存储驱动,现在不是了,性能有点问题
btrfs、zfs 依赖底层文件系统的正确配置,需要更多投入的维护和设置
vfs 用于测试,适合那些没有“写时拷贝”的文件系统,不过性能差,不推荐生产环境

docker 版本支持的存储驱动

  • 基本建议的存储驱动都是 overlay2

底层文件系统

backing filesystem,就是/var/lib/docker (默认)所在的文件系统

存储驱动 支持的底层文件系统
overlay2、overlay fstype=1的xfs和ext4
aufs xfs ext4
devicemapper direct-lvm
btrfs btrfs
zfs zfs
vfs 任何文件系统

检查当前存储驱动

docker info | grep "Storage Driver"

在这里插入图片描述

overlay2 存储驱动

OverlayFS

  • 类似于 AUFS 的现代联合文件系统
  • 比 AUFS 速度更快,实现更简单
  • Linux3.18版本开始,OverlayFS 进入 Linux 内核主线,内核模块中的名称从 overlayfs 变成了 overlay
  • docker 提供的存储驱动版本:最初的 overlay 和更高效稳定的 overlay2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值