谷歌开源Docker镜像分析比对工具
极客时间编辑部
讲述:丁婵大小:999.49K时长:02:08
近日,谷歌发布了一个叫作 container-diff 的工具,用于分析比对 Docker 镜像。该工具支持文件系统比对,并能够感知到由 apt、npm 和 pip 这些包管理器所带来的变更。
Dockerfile 用于创建容器镜像,一旦 Dockerfile 发生变更,开发者就需要重新创建新的镜像。由于 Dockerfile 是普通的文本文件,使用源码控制系统的 diff 工具就可以比较出它们之间的区别。
不过,如果要对 Dockerfile 文件里的命令所产生的镜像变更进行可视化,或者列出具体的镜像变更内容就很困难。应用程序被打包到镜像之后,如果依赖了第三方特定版本的依赖项,事情就会变得更复杂,况且,下游的依赖项也会让跟踪变得更加复杂。未被跟踪的依赖项会导致镜像体积膨胀,让镜像下载时间变长。
Container-diff 会分析镜像的“语义”差别,将结果以一种用户可理解的格式呈现给用户,这样用户就可以采取相应的行动。Container-diff 支持 Python 的 pip 包管理器、Linux 上的 apt 工具以及 node.js 包管理器 npm。另外,它还可以用于分析文件系统的变化。该工具可以一次性分析一个或几个甚至所有包管理器的内容。
在分析镜像时,开发者可以指定本地的 Docker 后台路径、远程的镜像仓库地址或文件路径。另外,在使用该工具分析后台镜像时,镜像不需要处于运行状态。该工具还能输出单个镜像的修改历史。
根据谷歌的文章所述,container-diff 可以成为开发流程的一部分,可以与持续集成系统集成起来,提供自动化的变更日志管理,而且它的输出结果是 JSON 格式的。
如果镜像处于仓库当中,不管是私有仓库还是像谷歌 Container Registry 这样的仓库,container-diff 都为它们提供了认证机制。这个认证机制是通过 docker-credentials-helpers 包来实现的,这个包使用本地程序(比如 OSX 上的 osxkeychain)来保存 Docker 认证信息。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论