IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:UnionFS

共 1 篇相关文章

IT 累计浏览 2,740

Docker基础技术:AUFS

这篇讲的是 Docker 底层存储的关键技术之一:AUFS。它是一种联合文件系统,可以把多个目录合并挂载到一个统一的视图中。文章从 AUFS 的历史八卦切入——它由冈岛顺治郎开发,却因代码量庞大(3万行)而屡次被 Linus 拒绝合入 Linux 主线,但 Ubuntu 等发行版依然广泛采用了它。 核心价值在于它的分层与合并思想。作者通过一个“水果与蔬菜”目录的生动示例,演示了 AUFS 如何将多个目录联合,并通过权限设置(最左侧目录默认可读写,其余只读)来实现修改的隔离。当修改一个文件时,改动会“写”到可写层,而不会影响只读层的原始文件,这就为快照和模板提供了基础。 这个特性正是 Docker 镜像分层的基石。文章清晰地解释了 Docker 如何利用 AUFS(以及 Btrfs、Devicemapper 等其他存储驱动)构建出只读的基础镜像层和上层可写的工作层。你甚至可以查看 Docker 实际运行时的挂载点(如 /sys/fs/aufs/),直观看到多个只读层(ro+wh)和一个可写层(rw)的组合。 最后,文章还介绍了 AUFS 的具体权限类型(rw、ro、rr)以及 whiteout 机制——如何在只读层上“删除”文件。这不仅仅是理论讲解,更提供了从内核文件系统特性到容器实践完整的技术脉络。