社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

Docker镜像分析工具Dive

GitHubStore • 5 月前 • 165 次点击  

项目简介

Dive 可以分析 Docker image 每个 layer 的内容,检测空间使用率,对学习 Docker layer 的原理,优化 Docker 镜像的大小都特别有用。

要分析 Docker 镜像,只需运行带有镜像 tag/id/digest 的 div :

dive <your-image-tag>

或者你可以直接使用 docker 命令潜水

alias dive="docker run -ti --rm  -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive"dive 
# for exampledive 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):

CI=true dive 



基本特点

按层细分显示 Docker 镜像内容


当您选择左侧的图层时,右侧将显示该图层的内容以及所有先前图层的内容。此外,您还可以使用箭头键全面浏览文件树。


指出每一层的变化

已更改、修改、添加或删除的文件会在文件树中指示。可以对其进行调整以显示特定层的更改,或直至该层的聚合更改。


估计“图像效率”

左下窗格显示基本图层信息和实验指标,该指标将猜测图像包含多少浪费空间。这可能是由于跨层复制文件、跨层移动文件或未完全删除文件造成的。提供百分比“分数”和总浪费文件空间。



快速构建/分析周期

您可以构建 Docker 映像并使用一个命令立即进行分析: dive build -t some-tag .


您只需要将docker build命令替换为相同的dive build即可 命令。


持续集成集成

分析图像并根据图像效率和浪费的空间获得通过/失败结果。只需在调用任何有效的潜水命令时在环境中设置CI=true即可。


支持多种镜像源和容器引擎

dive  --source <source>

或者

dive ://

使用有效的source选项,如下所示:

  • docker :Docker 引擎(默认选项)

  • docker-archive :磁盘上的 Docker Tar 存档

  • podman :Podman 引擎(仅限 Linux)


项目链接

https://github.com/wagoodman/dive

扫码加入技术交流群,备注开发语言-城市-昵称

合作请注明


 

关注「GitHubStore」公众号


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/176483
 
165 次点击