镜像分层分析工具之dive
【摘要】 镜像分层分析工具之dive 前言我们知道Docker的镜像是由一层一层联合文件系统构成,在Dockerfile中,每写一层就对应镜像中的一层,那么我们如果对已经制作好的镜像进行分层的查看和审核,以及后期的优化呢,dive就是一款镜像分层分析工具,可以帮助我们去实现。 一 dive简介 1.1 简介用于探索 Docker 映像、图层内容和发现缩小 Docker/OCI 映像大小的方法的工具。...
镜像分层分析工具之dive
前言
我们知道Docker的镜像是由一层一层联合文件系统构成,在Dockerfile中,每写一层就对应镜像中的一层,那么我们如果对已经制作好的镜像进行分层的查看和审核,以及后期的优化呢,dive就是一款镜像分层分析工具,可以帮助我们去实现。
一 dive简介
1.1 简介
用于探索 Docker 映像、图层内容和发现缩小 Docker/OCI 映像大小的方法的工具。
1.2 特性
- 显示按层分解的 Docker 图像内容
当您选择左侧的图层时,您会看到该图层的内容以及右侧的所有先前图层。此外,您可以使用箭头键全面探索文件树。
- 指出每一层的变化
已更改、修改、添加或删除的文件在文件树中显示。这可以调整以显示特定层的更改,或聚合到该层的更改。
- 估计“图像效率”
左下方的面板显示了基本的图层信息和一个实验性的指标,来猜测你的图片包含了多少浪费的空间。这可能是由于跨层复制文件,跨层移动文件,或者没有完全删除文件。提供了百分比“得分”和总浪费的文件空间
- 快速构建/分析周期
您可以使用一个命令构建 Docker 映像并立即进行分析:dive build -t some-tag。 您只需要用相同的潜水构建命令替换您的 docker build 命令。
- CI 集成
根据图像效率和浪费的空间分析图像并获得通过/失败结果。调用任何有效的潜水命令时,只需在环境中设置 CI=true。
二 安装
- RHEL/CentOS
curl -OL https://github.com/wagoodman/dive/releases/download/v0.9.2/dive_0.9.2_linux_amd64.rpm
rpm -i dive_0.9.2_linux_amd64.rpm
- Mac
brew install dive
三 使用
- KeyBindings
Key Binding | Description |
---|---|
Ctrl + C | 退出 |
Tab or Ctrl + Space | 在图层和文件树视图之间切换 |
Ctrl + F | 过滤文件 |
Ctrl + A | 图层视图:查看聚合图像修改 |
Ctrl + L | 图层视图:查看当前图层修改 |
Space | Filetree视图:折叠/取消折叠目录 |
Ctrl + A | Filetree视图: 显示/隐藏添加的文件 |
Ctrl + R | Filetree视图:显示/隐藏已删除的文件 |
Ctrl + M | Filetree视图:显示/隐藏已修改的文件 |
Ctrl + U | Filetree视图:显示/隐藏未修改的文件 |
PageUp | Filetree视图:向上滚动页面 |
PageDown | Filetree视图:向下滚动页面 |
- 分析mysql镜像
dive mysql:8.0.19
- 执行CI扫描
dive mysql:8.0.19 --ci
其他
在我们CI中可以集成dive,对每次构建的镜像进行检测,及时发现镜像中的异常和优化点,针对性的优化镜像。
参考链接
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)