🏠 首页 / Docker / container-diff 工具的使用
container-diff 工具的使用 #
简介 #
container-diff 是 google 开源的一款用于分析和比较 Docker 镜像的工具,它可以从多个维度分析一个或者比较两个容器镜像:
- 镜像构建历史
- 镜像文件系统
- 镜像大小
- 软件包管理
项目地址: https://github.com/GoogleContainerTools/container-diff
安装 #
macOS #
curl -LO https://storage.googleapis.com/container-diff/latest/container-diff-darwin-amd64 && chmod +x container-diff-darwin-amd64 && sudo mv container-diff-darwin-amd64 /usr/local/bin/container-diff
Linux #
curl -LO https://storage.googleapis.com/container-diff/latest/container-diff-linux-amd64 && chmod +x container-diff-linux-amd64 && sudo mv container-diff-linux-amd64 /usr/local/bin/container-diff
# or
curl -LO https://storage.googleapis.com/container-diff/latest/container-diff-linux-amd64 && chmod +x container-diff-linux-amd64 && mkdir -p $HOME/bin && export PATH=$PATH:$HOME/bin && mv container-diff-linux-amd64 $HOME/bin/container-diff
Windows #
下载地址: https://storage.googleapis.com/container-diff/latest/container-diff-windows-amd64.exe
下载 exe 文件重命名为 container-diff.exe
,添加到系统环境变量 PATH 中。
使用 #
分析单个 Docker 镜像
container-diff analyze <image-name>
对比两个 Docker 镜像
container-diff diff <image1-name> <image2-name>
如果不指定 type
,默认分析/对比的是镜像大小,即 --type=size
可以通过指定 type
,分析/对比特定维度
container-diff analyze <image-name> --type=<type-name>
container-diff diff <image1-name> <image2-name> --type=<type-name>
type 类型支持如下:
- history:镜像构建历史
- file:镜像文件
- size:镜像大小
- rpm:rpm 包管理器
- pip:pip 包管理器
- apt:apt 包管理器
- node:node 包管理器
通过设置多组 type
,可以一次性分析/对比多个维度,例如:
container-diff analyze nginx --type=history --type=size
通过设置 --type=file
和 --filename=/path/file
,可以比较比较两个 docker 镜像中某目录或文件的区别,例如:
container-diff diff nginx:v1 nginx:v2 --type=file --filename=/etc/
通过设置 -j
,可以使用 json 格式输出结果。
通过设置 -w <file-path>
,可以将结果输入到文件。
更多命令参数可以通过 -h
解锁。