开源最前线(ID:OpenSourceTop) 猿妹 整编
综合自:https://github.com/GoogleCloudPlatform/container-diff
近日,Google 发布了一个名为 container-diff 的开源项目。
容器镜像分析对比工具 container-diff
授权协议:Apache
开发语言:Google Go
操作系统:跨平台
开发厂商:Google
Github:https://github.com/GoogleCloudPlatform/container-diff
container-diff 简介
container-diff 是 Google 开源的一个分析和比较容器镜像的工具,可用来分析 Docker 镜像之间的差异。可通过以下几个不同的标准(角度)来检查镜像:
● Docker 镜像历史
● 镜像文件系统
● Apt 包管理器
● pip 包管理器
● npm 包管理器
这些分析可以在单个镜像上执行,也可以在两个镜像上进行执行比较。该工具可以帮助用户更好地理解他们的镜像内部正在发生的变化,并让他们更好地了解他们的镜像所包含的内容。
Docker 简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包装系统。
container-diff 镜像分析
当你要使用 container-diff analyze 对单个镜像执行分析时,你需要一个Docker映像(以ID,tarball的形式 )如下:
多个镜像对比:
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目录/容器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目录/容器DIFF
不想使用 sudo 的话还可以这样:
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 = $路径:$ HOME / bin && mv container-diff-linux-amd64 $ HOME / bin / container-diff
container-diff 镜像来源
container-diff 支持位于本地 Docker 守护程序和远程注册表中的 Docker 镜像。要显式指定本地图像,请 daemon:// 在图像名称上使用前缀; 类似地,对于明确的远程图像,使用 remote:// 前缀。
另外,可以直接向工具提供 tarball。确保你的文件有一个有效的 tar 扩展名(.tar,.tar.gz,.tgz)。
注意:container-diff 不直接支持 Docker ID 引用的图片。如果你的镜像在你的本地 Docker 进程中只有一个 ID,那么 docker tag 在使用 container-diff 之前,你需要使用它来标记它。
认证
当使用注册表作为图像源时,Container-diff 支持 docker-credential-helpers 进行身份验证。确保在使用 container-diff 之前配置了您的凭证助手,并且它应该自动运行。
对于 Google 容器注册表,请确保 docker-credential-gcr 已经按照这些说明配置了二进制文件并在您的路径上。
据 Google 介绍,container-diff 还可以提供自动变更日志管理,与持续集成系统集成,并支持 JSON 格式输出,完全可将其作为开发流程的一部分。
附:新开源报道汇总

●本文编号98,以后想阅读这篇文章直接输入98即可
●输入m获取文章目录
↓↓↓ 点击"阅读原文" 进入GitHub详情页 
继续阅读
阅读原文