Dive:Docker 镜像层可视化分析工具

文章目录

  • [Dive:Docker 镜像层可视化分析工具](#Dive:Docker 镜像层可视化分析工具)

Dive:Docker 镜像层可视化分析工具

Dive 是一个用于探索 Docker 镜像内部结构的工具,目前在 GitHub 上获得了超过 54,300 个星标,采用 MIT 许可证发布。项目的主要功能是解构镜像层内容,帮助发现减少 Docker 镜像体积的方法。

镜像臃肿是容器化部署中的实际问题。多层叠加导致文件重复、未清理的缓存和残留文件被持续打包进新镜像,最终产出的体积远超实际需要。使用命令只能看到总大小,无法判断浪费的具体位置。Dive 把镜像按层拆解,展示每层新增、修改或删除的文件,让空间浪费的根因直接可见。

工具的基本调用只需要传递一个镜像标识:

复制代码
dive <your-image-tag>

也可以直接通过容器方式运行,挂载 Docker socket 后无需在本地安装。主要方式是与构建流程合并,使用 dive build -t <tag> . 替代构建命令,完成构建后立即分析。

分析界面采用左右分栏布局。左侧显示镜像层列表,按构建顺序排列;右侧展示文件树。选中某一层后,右侧会呈现该层及之前所有层的累计内容,文件状态通过颜色标识区分。左下角呈现基础层信息和一个镜像效率指标,估算浪费空间的比例。交互上支持用方向键浏览文件树,按 Tab 切换视图,按 Ctrl+F 过滤文件,这些快捷键可以在不使用鼠标的情况下完成大部分操作。

镜像效率指标以百分比和字节数两种形式展示。效率低于预期意味着镜像存在重复文件、跨层移动文件或删除不彻底等问题,可以据此逆向优化构建脚本。

在持续集成场景中,设置 CI=true 后会跳过图形界面,仅返回基于效率和浪费空间的通过不通过状态码。通过 .dive-ci 配置文件可以定义最低效率阈值、最大允许浪费字节数和用户空间浪费百分比三项规则,方便集成到现有流水线中。

支持多种镜像来源和容器引擎。通过 --source 参数可以选择本地 Docker 引擎、Podman 或磁盘上的 Docker Tar Archive。界面和快捷键可通过 YAML 配置文件自定义,安装方式覆盖 Homebrew、系统包管理器、容器运行和直接下载二进制包。

项目目前处于测试阶段,社区欢迎提交新功能请求或错误报告。对于需要控制镜像体积的团队,Dive 可以作为工具使用。

于需要控制镜像体积的团队,Dive 可以作为工具使用。

相关推荐
java_logo1 小时前
Docker 部署 Samba:轻松搭建局域网文件共享
运维·docker·容器·文件共享·samba·smb·轩辕镜像
corey931 小时前
Linux 学习 - 第十四周作业
linux·运维·学习
李纲明1 小时前
WordPress 媒体库上传失败或一直转圈:先核 PHP 上传限制与目录权限,再查安全插件与对象存储
运维·开发语言·安全·php·wordpress·媒体库·devdiy
志栋智能9 小时前
运维超自动化的版本控制与回滚机制
运维·自动化
中云DDoS CC防护蔡蔡10 小时前
DDOS和CC攻击谁更可怕
运维·服务器·经验分享·网络安全·ddos
Ruiery10 小时前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
ClickHouseDB10 小时前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
欧米欧10 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery10 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全