Docker镜像分析工具dive原理解析

时间:2021-05-19

今天推荐一个这样的开源工具,用于探索 Docker 镜像,各层内容以及发现缩小 Docker/OCI 镜像大小的方法。这个工具就是:dive。

工具地址:https://github.com/wagoodman/dive,Star 数:22k+。

这个工具可以清晰得看到镜像每一层都包含哪些内容,方便你分析是否有必要,如下图所示。

特性

该工具的主要特性包括:

  • 按层显示 Docker 镜像内容;
  • 指出每一层的变化;
  • 评估 “镜像的效率”;
  • 快速的构建/分析周期;
  • 和 CI 集成;
  • 支持多个镜像和容器引擎:比如 docker、docker-archive 和 podman;

安装和使用

1、主要采用docker运行dive的方式,具体用法可查看官方:

https://github.com/wagoodman/dive

2、拉取dive镜像

docker pull quay.io/wagoodman/dive:latest

3、通过docker运行dive查看镜像层信息

docker run --rm -it \
-v /var/run/docker.sock:/var/run/docker.sock \
quay.io/wagoodman/dive:latest \
nginx:latest

备注:最后面的nginx:latest就是要查看的镜像名称或者直接换成镜像ID也可以,打开界面如下:

KeyBindings

Key Binding Description <kbd>Ctrl + C</kbd> 退出 <kbd>Tab</kbd> or <kbd>Ctrl + Space</kbd> 在图层和文件树视图之间切换 <kbd>Ctrl + F</kbd> 过滤文件 <kbd>Ctrl + A</kbd> 图层视图:查看聚合图像修改 <kbd>Ctrl + L</kbd> 图层视图:查看当前图层修改 <kbd>Space</kbd> Filetree视图:折叠/取消折叠目录 <kbd>Ctrl + A</kbd> Filetree视图: 显示/隐藏添加的文件 <kbd>Ctrl + R</kbd> Filetree视图:显示/隐藏已删除的文件 <kbd>Ctrl + M</kbd> Filetree视图:显示/隐藏已修改的文件 <kbd>Ctrl + U</kbd> Filetree视图:显示/隐藏未修改的文件 <kbd>PageUp</kbd> Filetree视图:向上滚动页面 <kbd>PageDown</kbd> Filetree视图:向下滚动页面

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章