Google 发布了一个名为 container-diff 的开源项目,这是一个分析和比较容器镜像的工具,可用来分析 Docker 镜像之间的差异。
container-diff 可通过几个不同的标准来检查镜像,包括:
Docker 镜像历史
镜像文件系统
Apt 包管理器
pip 包管理器
npm 包管理器
上述分析可以在单个镜像上执行,也可以在两个镜像上执行以进行比较。 该工具可以帮助用户更好地了解他们的镜像内部发生了什么变化,并让他们更好地了解镜像包含什么内容。
单个分析:
container-diff analyze <img> [Run default analyzers] container-diff analyze <img> --type=history [History] container-diff analyze <img> --type=file [File System] container-diff analyze <img> --type=pip [Pip] container-diff analyze <img> --type=apt [Apt] container-diff analyze <img> --type=node [Node] container-diff analyze <img> --type=apt --type=node [Apt and Node] # --type=<analyzer1> --type=<analyzer2> --type=<analyzer3>,...
多个对比:
container-diff diff <img1> <img2> [Run default differs] container-diff diff <img1> <img2> --type=history [History] container-diff diff <img1> <img2> --type=file [File System] container-diff diff <img1> <img2> --type=pip [Pip] container-diff diff <img1> <img2> --type=apt [Apt] container-diff diff <img1> <img2> --type=node [Node]
据 Google 介绍,container-diff 还可以提供自动变更日志管理,与持续集成系统集成,并支持 JSON 格式输出,完全可将其作为开发流程的一部分。
Starting diff on images daemon://nginx and nginx:1.13.7, using differs: [apt]
Retrieving image nginx:1.13.7 from source Cloud Registry
Retrieving image nginx:latest from source Local Daemon
Computing diffs
-----Apt-----
Packages found only in nginx:latest: None
Packages found only in nginx:1.13.7: None
Version differences:
PACKAGE IMAGE1 (nginx:latest) IMAGE2 (nginx:1.13.7)
-nginx 1.13.6-1~stretch, 2.7M 1.13.7-1~stretch, 2.7M
-nginx-module-geoip 1.13.6-1~stretch, 145K 1.13.7-1~stretch, 145K
-nginx-module-image-filter 1.13.6-1~stretch, 119K 1.13.7-1~stretch, 119K
-nginx-module-njs 1.13.6.0.1.14-1~stretch, 1.4M 1.13.7.0.1.15-1~stretch, 1.5M
-nginx-module-xslt 1.13.6-1~stretch, 111K 1.13.7-1~stretch, 111K