Docker核心技术-联合文件系统

本文介绍了Docker中使用的联合文件系统(UnionFS)概念及其工作原理,详细解释了AUFS如何支持文件系统的分层与权限设定,并对比了几种常用的文件系统后端。

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

联合文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。
联合文件系统是 Docker 镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。

另外,不同 Docker 容器就可以共享一些基础的文件系统层,同时再加上自己独有的改动层,大大提高了存储的效率。
1.Docker存储
Docker目前通过插件化方式支持多种文件系统后端.
Docker 中使用的 AUFS(AnotherUnionFS)就是一种联合文件系统。 AUFS 支持为每一个成员目录(类似 Git 的分支)设定只读(readonly)、读写(readwrite)和写出(whiteout-able)权限, 同时 AUFS 里有一个类似分层的概念, 对只读权限的分支可以逻辑上进行增量地修改(不影响只读部分的)。
Docker镜像自身就是多个文件层组成,每一层有唯一的编号,可以通过docker history来查看一个镜像由哪些层组成.

2.多种文件系统比较
Docker 目前支持的联合文件系统包括 OverlayFS, AUFS, Btrfs, VFS, ZFS 和 Device Mapper。

Linux 发行版Docker 推荐使用的存储驱动
Docker CE on Ubuntuaufs, devicemapper, overlay2 (Ubuntu 14.04.4 +, 16.04 +), overlay, zfs, vfs
Docker CE on Debianaufs, devicemapper, overlay2 (Debian Stretch), overlay, vfs
Docker CE on CentOSdevicemapper, vfs
Docker CE on Fedoradevicemapper, overlay2 (Fedora 26 +), overlay (实验性支持), vfs

在可能的情况下,推荐使用 overlay2 存储驱动,overlay2 是目前 Docker 默认的存储驱动,以前则是 aufs。你可以通过配置来使用以上提到的其他类型的存储驱动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值