首页 > 编程语言 > Docker镜像分析工具dive原理解析
2020
11-29

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

今天推荐一个这样的开源工具,用于探索 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视图:向下滚动页面

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

编程技巧