5 分钟小工具:使用 dive 分析 docker 镜像

需求

拿到一个镜像之后,我想知道:

  • 分层查看镜像里都有哪些文件
  • 各层使用了什么命令构建的这个镜像
  • 镜像里比较大的文件有哪些(可能需要优化)

dive 工具介绍

dive 工具可以做这些分析。dive 的 github 地址是 wagoodman/dive,小巧玲珑,MIT 开源协议,42.9k 的 star。它的介绍是这么一句话:

A tool for exploring each layer in a docker image

其分析效果大概如下:

10db0dd9-dive-demo

安装 dive

可以使用镜像安装:

docker pull wagoodman/dive:latest
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive:latest <your_image>

也可以使用二进制安装:

  • 下载地址:https://github.com/wagoodman/dive/releases
  • 最新版本:v0.12.0

下载之后解压缩,里边只有一个二进制文件,直接使用即可,比如分析夜莺的镜像:

./dive flashcatcloud/nightingale:latest

按键盘上面的上下移动键,即可查看不同的分层的信息,右侧会展示当前分层的文件,左侧中间位置展示当前分层的详情,最下面展示镜像评分,展示了一些可能的大文件。

enjoy :-)


本公众号主理人:秦晓辉,极客时间《运维监控系统实战笔记》作者,Open-Falcon、夜莺、Categraf、Cprobe 等开源项目的创始人,当前在创业,为客户提供可观测性相关的产品。如下是我们两款核心产品,欢迎访问我们的官网了解详情:

我们主要提供两款产品:

20240307192910

欢迎加我好友,交流可观测性相关话题或了解我们的商业产品,如下是我的联系方式,加好友请备注您的公司、姓名、来意 🤝

20240307193146

扩展阅读:

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Docker 镜像的大小对于部署和传输来说都是非常重要的。较小的镜像可以更快地传输和部署,因此减小 Docker 镜像的大小是非常有必要的。以下是一些减小 Docker 镜像大小的方法: 1.使用多阶段构建:多阶段构建是一种将多个 Dockerfile 指令组合在一起的方法,以便在单个 Dockerfile 中构建多个镜像层。这可以减少镜像的大小,因为每个阶段只包含构建所需的文件和依赖项。 2.使用 .dockerignore 文件:.dockerignore 文件类似于 .gitignore 文件,可以指定哪些文件和目录不应包含在构建上下文中。这可以减少构建上下文的大小,从而减小镜像的大小。 3.精简镜像:在构建镜像时,只包含应用程序所需的文件和依赖项。例如,使用 Alpine Linux 作为基础镜像可以减小镜像的大小,因为 Alpine Linux 是一个非常小的 Linux 发行版。 4.删除不需要的文件和依赖项:在构建镜像时,确保删除不需要的文件和依赖项。例如,在安装软件包后,运行 apt-get clean 命令可以删除不需要的软件包和缓存文件。 5.压缩镜像使用 Docker 的内置压缩功能可以减小镜像的大小。例如,使用 docker save 命令将镜像保存为 tar 文件时,可以使用 -gzip 选项启用压缩。 6.使用 Docker 镜像优化工具:如引用所述,有许多 Docker 镜像优化工具可以帮助你减小 Docker 镜像的大小,例如 Dive。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜莺开源监控

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值