我的知识库 / Docker / container-diff 工具的使用
container-diff 是 google 开源的一款用于分析和比较 Docker 镜像的工具,它可以从多个维度分析一个或者比较两个容器镜像:
项目地址:https://github.com/GoogleContainerTools/container-diff
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
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
下载地址: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 类型支持如下:
通过设置多组 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
解锁。