项目简介
Dive 可以分析 Docker image 每个 layer 的内容,检测空间使用率,对学习 Docker layer 的原理,优化 Docker 镜像的大小都特别有用。
要分析 Docker 镜像,只需运行带有镜像 tag/id/digest 的 div :
或者你可以直接使用 docker 命令潜水
alias dive="docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive"
dive
dive nginx:latest
或者,如果您想构建图像,则直接跳到分析它:
dive build -t <some-tag> .
在 Macbook 上构建(仅支持 Docker 容器引擎)
docker run --rm -it \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "$(pwd)":"$(pwd)" \
-w "$(pwd)" \
-v "$HOME/.dive.yaml":"$HOME/.dive.yaml" \
wagoodman/dive:latest build -t .
此外,您可以在 CI 管道中运行它,以确保将浪费的空间保持在最低限度(这会跳过 UI):
基本特点
按层细分显示 Docker 镜像内容
当您选择左侧的图层时,右侧将显示该图层的内容以及所有先前图层的内容。此外,您还可以使用箭头键全面浏览文件树。
指出每一层的变化
已更改、修改、添加或删除的文件会在文件树中指示。可以对其进行调整以显示特定层的更改,或直至该层的聚合更改。
估计“图像效率”
左下窗格显示基本图层信息和实验指标,该指标将猜测图像包含多少浪费空间。这可能是由于跨层复制文件、跨层移动文件或未完全删除文件造成的。提供百分比“分数”和总浪费文件空间。
快速构建/分析周期
您可以构建 Docker 映像并使用一个命令立即进行分析: dive build -t some-tag .
您只需要将docker build
命令替换为相同的dive build
即可 命令。
持续集成集成
分析图像并根据图像效率和浪费的空间获得通过/失败结果。只需在调用任何有效的潜水命令时在环境中设置CI=true
即可。
支持多种镜像源和容器引擎
或者
使用有效的source
选项,如下所示:
https://github.com/wagoodman/dive
扫码加入技术交流群,备注「开发语言-城市-昵称」
合作请注明
关注「GitHubStore」公众号