当前位置: 首页 > wzjs >正文

保洁产品网站建设价格营销培训

保洁产品网站建设价格,营销培训,山东城市建设职业学院图书馆网站,郑州百姓网征婚OverlayFS(Overlay2)文件系统深度解析 Overlay2 是 Docker 默认使用的联合文件系统(Union Filesystem),用于管理容器镜像的分层存储和容器运行时文件系统的合并。它基于 Linux 内核的 OverlayFS 技术,是早…

OverlayFS(Overlay2)文件系统深度解析

Overlay2 是 Docker 默认使用的联合文件系统(Union Filesystem),用于管理容器镜像的分层存储和容器运行时文件系统的合并。它基于 Linux 内核的 OverlayFS 技术,是早期 aufs 和 overlay 的改进版本。


1. OverlayFS 的核心概念

OverlayFS 通过堆叠多层目录来实现文件系统的联合挂载,主要分为:

  • Lower Dir(下层,只读):通常是镜像层(Image Layers)。

  • Upper Dir(上层,可写):容器运行时新增或修改的文件。

  • Work Dir(工作目录):OverlayFS 内部用于准备文件的临时目录。

  • Merged Dir(合并视图):最终呈现给容器的统一文件系统。


2. Overlay2 在 Docker 中的工作方式

Docker 镜像采用分层存储,每一层都是一个只读文件系统(Lower Dir)。当启动容器时,Overlay2 会:

  1. 镜像层(Lower Dir):所有镜像层按顺序堆叠(如 base-image → apt-get install → copy files)。

  2. 容器层(Upper Dir):在镜像层之上创建一个可写层,存储容器运行时的修改。

  3. 合并视图(Merged):将只读层和可写层合并,形成容器的完整文件系统。


3. 查看 Docker 的 Overlay2 存储结构

Docker 的 Overlay2 数据默认存储在 /var/lib/docker/overlay2/(如果你的示例中挂载在 /mnt/newdisk/docker/overlay2,说明 Docker 数据目录被迁移到了该磁盘)。

关键目录说明

/var/lib/docker/overlay2/
├── <layer-id>           # 每个镜像或容器层对应一个目录
│   ├── diff             # 该层的实际文件内容(相当于 Lower Dir)
│   ├── link             # 短标识符(用于避免长ID路径问题)
│   ├── lower            # 指向父层的引用(如 `l/ABC123`)
│   └── work             # OverlayFS 内部工作目录
├── l/                   # 短链接目录(优化路径访问)
└── <container-id>       # 容器运行时目录├── merged/          # 合并后的文件系统(容器看到的视图)├── upper/           # 可写层(Upper Dir)└── work/            # OverlayFS 工作目录

4. 文件读写规则

操作类型行为
读取文件从最上层 Lower Dir 开始查找,直到找到该文件。
修改文件文件若在 Lower Dir(只读),则先复制到 Upper Dir(写时复制,CoW),再修改。
删除文件在 Upper Dir 创建 whiteout 文件(如 .wh.filename),隐藏 Lower Dir 中的文件。
新建文件直接写入 Upper Dir。

5.  df -h 显示多个 Overlay 挂载

overlay 334G 159G 160G 50% /mnt/newdisk/docker/overlay2/.../merged

  • 每个 merged 目录对应一个正在运行的容器的合并视图。

  • 由于多个容器可能共享相同的镜像层(Lower Dir),但每个容器有自己的 Upper Dir,因此 df 可能会重复统计共享层(实际磁盘占用并非简单相加)。


6. Overlay2 的优点

  1. 高效分层存储:多个容器共享相同的基础镜像层,节省空间。

  2. 写时复制(CoW):只有修改文件时才复制,减少磁盘 I/O。

  3. 性能较好:相比 aufs 和 devicemapper,Overlay2 是 Docker 推荐的存储驱动。


7. 潜在问题与注意事项

(1)磁盘空间显示不准确

  • df 可能会重复计算共享层,实际占用比显示的要小。

  • 用 docker system df 查看 Docker 的真实磁盘使用情况:

    docker system df

    输出示例:

    TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
    Images          5         3         2.1GB     800MB (38%)
    Containers      3         1         300MB     300MB (100%)
    Local Volumes   2         1         500MB     500MB (100%)

(2)清理无用数据

  • 删除无用镜像、容器和卷:

    docker system prune -a      # 清理所有未使用的对象
    docker volume prune         # 清理未使用的卷

(3)大文件导致磁盘占满

  • 容器日志或应用程序写入的大文件可能堆积在 Upper Dir。

  • 检查容器日志大小:

    docker logs <container-id> --tail 100  # 查看日志
  • 限制日志大小(在 docker run 时添加 --log-opt max-size=10m)。


8. 进阶:手动调试 Overlay2

如果想直接查看某个容器的文件系统:

# 找到容器的 Merged Dir(需 root 权限)
docker inspect <container-id> | grep MergedDir# 进入合并后的文件系统
ls /var/lib/docker/overlay2/<container-id>/merged

总结

  • Overlay2 是 Docker 的分层存储引擎,通过联合挂载实现高效的文件管理。

  • Lower Dir(镜像层)只读Upper Dir(容器层)可写merged 是最终视图。

  • df -h 可能显示重复统计,建议用 docker system df 查看真实占用。

  • 定期清理无用镜像和日志,避免磁盘占满。

http://www.dtcms.com/wzjs/167003.html

相关文章:

  • 企业网站开发多少钱企业管理培训课程
  • 环保科技东莞网站建设关键信息基础设施安全保护条例
  • 网站建设优化安徽新乡搜索引擎优化
  • 站长统计幸福宝网站统计百度客服怎么转人工电话
  • 多多卡起货网站建设网站制作需要多少钱
  • 株洲专业建设网站广州seo教程
  • 海南住房和城乡建设委员会门户网站跨境电商平台
  • 2017政府网站建设工作总结seo入门教学
  • wordpress为什么流行网站优化推广
  • 做进口葡萄酒的网站搜索引擎的关键词优化
  • 网上做网站推广骗局seo网站优化做什么
  • 买香港空间上传美女图片做网站今日国内最新新闻
  • 上海html5网站制作公司怎么卸载windows优化大师
  • 网站建设与网页设计总结徐州新站百度快照优化
  • 公司网站更换域名流程建站之星官网
  • 律师论坛网站模板seo推广编辑
  • 众鱼深圳网站建设河北网站推广公司
  • 组织建设六个方面内容广州:推动优化防控措施落
  • 网站开发需求表网络销售都是诈骗公司吗
  • 做一个网站 如何盈利模式百度热搜广告位多少钱
  • 微信公众平台一定要找网站做吗谷歌搜索引擎入口手机版
  • 科技网站推荐域名注册网站查询
  • 网站空间商排行榜天津关键词优化平台
  • 厦门本地企业网站建设电子商务网站建设
  • 抓取网站url色盲测试图免费测试
  • 郑州做网站公司中高清视频线和音频线的接口类型
  • 福建建设厅安全员报名网站百度营销推广官网
  • 医学专业网站西安网站建设公司
  • 做网站需要写代码新闻最新消息今天
  • wordpress 分类 评论网站优化有哪些技巧