微信公众号

Docker镜像分析工具——Dive

Docker镜像

镜像是Docker容器的基石,容器是镜像的运行实例,有了镜像才能启动容器。一个Docker镜像可以构建于另一个Docker镜像之上,这种层叠关系可以是多层的,镜像继承了父层镜像的所有属性和设置,并在Dockerfile中添加自己的配置。

Docker镜像文件通常包含:
manifest.json: 镜像元数据文件,包含镜像的版本号、作者、描述等信息
config.json: 镜像配置信息文件,包含镜像的运行环境、启动命令等信息
layers: 镜像文件系统层,每个层都是一个只读的tar包,包含对上一层文件系统的修改
repositories: 镜像仓库信息文件,包含镜像的来源和版本等信息

Dive介绍

Dive 是用 Go 语言编写的开源 Docker 镜像分析工具,可清晰看到镜像每一层都包含哪些内容,每一层的变化、估算镜像效率,提供快速构建分析的功能,可以分析Docker镜像并找出其中的冗余层和大文件。工具地址:https://github.com/wagoodman/dive

Dive主要特性

  • 按层显示 Docker 镜像内容
  • 显示每个层的内容详细信息
  • 显示正在检查的镜像的总大小
  • 显示镜像中的浪费空间(越小越好)
  • 显示镜像的效率得分(越高越好)

安装Dive

下载二进制文件包 https://github.com/wagoodman/dive/releases
tar zxvf dive_0.12.0_linux_amd64.tar.gz

运行Dive命令

以分析mysql8.0镜像为例,如下:
./dive mysql:8.0

可查看不同的分层的信息,右侧会展示当前分层的文件,左侧中间位置展示当前分层的详情,最下面展示镜像评分,展示了一些可能的大文件。

对个人免费的VMware Workstation/Fusion 下载试用 YOLO检测环境安装配置
微信公众号