从0开始学docker (每日更新 24-11-11)

Docker存储驱动及其选择

概述

理想情况下,只有很少的数据需要写入容器的可写层,更多的情形是用 Docker卷来写入数据。但是,有些工作负荷要求写入容器的可写层,这就需要使用存储驱动。存储驱动控制镜像和容器在 Docker主机上的存储和管理方式,Doker通过插件机制支持以下几种不同的存储驱动:

1.Docker存储驱动与联合文件系统

联合文件系统(Union file systems 或 UnionFS)是一种为 Linux、FreeBSD和 NetBSD 操作系统设计的,将其他文件系统合并到一个联合挂载点的文件系统,它通过创建层进行操作,非常轻巧和快速。Docker引擎使用它为容器提供内部存储。Docker引擎可以使用联合文件系统的多种变体,包括AUFS、OverlayFS、Btrfs、BFS 和 DeviceMapper等。

这些联合文件系统实际上是由存储驱动实现的,相应的存储驱动有 aufs、overlay、overlay2、devicemapper、btrfs、zfs、vfs等

2. 选择 Docker 存储驱动的总体原则

各种Docker存储驱动都能实现分层的架构,同时又有各自的特性。Docker本身仍然处于不断发展中,没有一个存储驱动能够适应所有的情形。但是,为工作负载选择适合的存储驱动可依据以下原则:

在最常用的场合使用具有最佳整体性能和稳定性的存储驱动

如果内核支持多个存储驱动,则Docker会提供要使用的存储驱动的优先级列表。存储驱动选择顺序是在Docker的源代码中定义的

优先使用Linux发行版默认的存储驱动。Docker安装时会根据当前系统的配置选择默认的存储驱动。如果没有显式配置存储驱动,则表明该存储驱动满足先决条件,这就是默认驱动。默认驱动具有较好的稳定性,已经在该发行版上经过了严格的测试。

一些存储驱动要求使用特定格式的底层文件系统,这可能会限制选择

选择存储驱动还要取决于工作负载的特征和所需的稳定性级别

3.主流的 Docker 存储驱动

对于所有当前支持的 Linux发行版,overlay2存储驱动是首选,不需要任何额外配置

docker  info   查看当前docker使用的存储驱动,从输出结果中查找“Strong Driver”部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值