
回复
作者 阳明
来源 | k8s技术圈(ID:kube100)
我们知道用 docker inspect命令可以查看一个 docker 镜像的 meta 信息,用 docker history命令可以了解一个镜像的构建历史,但是这些信息对我们去分析一个镜像的具体一层的组成来说还是不太够,不够清晰明了。
介绍
接下来我们给大家介绍一个用来分析 docker 镜像层信息的一个工具:dive,地址:https://github.com/wagoodman/dive,该工具主要用于探索 docker 镜像层内容以及发现减小 docker 镜像大小的方法。
要分析一个 docker 镜像,只需要在 dive 工具后面添加上镜像的 tag 即可:
除此之外,还可以通过 build 命令去构建 docker 镜像后,直接进入分析结果:
基本功能
安装
安装非常简单,我们这里为了方便,直接使用 docker 镜像的方式,其他的安装方法在 dive 文档中查看即可。
镜像 pull 下来后,然后使用该镜像运行一个临时的容器,加上我们需要分析的镜像即可:
比如,我们这里来分析下 python:3.6.4这个镜像:
分析完成后,我们就可以进入到一个可操作的界面之中,然后可以使用键盘上的 上下按键去切换镜像的每一层,在左下角会出现这一层的详细信息,有的层就会出现计算出的一些浪费空间的结果,我们就可以根据这个信息去分析如何减少镜像大小,而右侧区域则是显示当前镜像层的内容文件树:
更多的信息可以查看 dive 的 github 仓库页面。