需求
拿到一个镜像之后,我想知道:
- 分层查看镜像里都有哪些文件
- 各层使用了什么命令构建的这个镜像
- 镜像里比较大的文件有哪些(可能需要优化)
dive 工具介绍
dive 工具可以做这些分析。dive 的 github 地址是 wagoodman/dive
,小巧玲珑,MIT 开源协议,42.9k 的 star。它的介绍是这么一句话:
A tool for exploring each layer in a docker image
其分析效果大概如下:
安装 dive
可以使用镜像安装:
docker pull wagoodman/dive:latest
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive:latest <your_image>
也可以使用二进制安装:
- 下载地址:https://github.com/wagoodman/dive/releases
- 最新版本:v0.12.0
下载之后解压缩,里边只有一个二进制文件,直接使用即可,比如分析夜莺的镜像:
./dive flashcatcloud/nightingale:latest
按键盘上面的上下移动键,即可查看不同的分层的信息,右侧会展示当前分层的文件,左侧中间位置展示当前分层的详情,最下面展示镜像评分,展示了一些可能的大文件。
enjoy :-)
本公众号主理人:秦晓辉,极客时间《运维监控系统实战笔记》作者,Open-Falcon、夜莺、Categraf、Cprobe 等开源项目的创始人,当前在创业,为客户提供可观测性相关的产品。如下是我们两款核心产品,欢迎访问我们的官网了解详情:
- 快猫星云 Flashcat | 让监控分析变简单 | 开源监控 | 夜莺监控 | 可观测平台 | 运维监控 | IT监控
我们主要提供两款产品:
欢迎加我好友,交流可观测性相关话题或了解我们的商业产品,如下是我的联系方式,加好友请备注您的公司、姓名、来意 🤝
扩展阅读:
- 方法论:面向故障处理的可观测性体系建设
- 小总结:从CTO视角来看:如何搭建运维/SRE能力
- 鄙人专栏:运维监控系统实战笔记