查看原文
其他

利器:一个开源工具探究 Docker 镜像的世界

欧盆索思 Go招聘 2022-05-13

关注公众号 “转角遇到GitHub” ,每天推荐给你优秀开源项目

大家好,我是欧盆索思(opensource),每天为你带来优秀的开源项目!

当前 Docker 的火热程度毋庸置疑。我们都知晓 Docker 的镜像是基于层的概念构建的。如何让镜像更小,一直是大家关注的,网上也有很多最佳实践。有没有好的工具可以帮我们分析镜像,让我们可以更清晰得看到镜像的各个层?

今天推荐一个这样的开源工具,用于探索 Docker 镜像,各层内容以及发现缩小 Docker/OCI 镜像大小的方法。这个工具就是:dive。

工具地址:https://github.com/wagoodman/dive,Star 数:22k+。

这个工具可以清晰得看到镜像每一层都包含哪些内容,方便你分析是否有必要,如下图所示。

特性

该工具的主要特性包括:

  • 按层显示 Docker 镜像内容;
  • 指出每一层的变化;
  • 评估 “镜像的效率”;
  • 快速的构建/分析周期;
  • 和 CI 集成;
  • 支持多个镜像和容器引擎:比如 docker、docker-archive 和 podman;

安装和使用

根据你的系统,可以选择不同的安装方式。作者为不同系统准备了编译好的可执行程序,比如 MacOS 可以这么安装:

$ brew install dive

你也可以通过发布页获得对应的文件:https://github.com/wagoodman/dive/releases。

此外,如果你有 Go 开发环境,可以通过源码编译安装。

对了,还可以通过 docker 安装哦,比如:

$ docker pull wagoodman/dive

至于使用,一般使用最简单的方式:

$ dive <your-image-tag>

比如分析 Go 语言镜像:

$ dive golang:1.14
Fetching image... (this can take a while with large images)
Parsing image...
Analyzing image...
Building cache...

可以看到该镜像构建各个层

文末「阅读原文」可直达项目首页。


今天的项目大家觉得怎么样吗?如果你喜欢,请在文章底部留言、点赞或关注转发,你的支持就是我持续更新的最大动力!


推荐阅读




转角遇到GitHub - 送给爱开源的你

Git · GitHub · GitLab · Gitee


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存