惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
WordPress大学
WordPress大学
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
I
InfoQ
小众软件
小众软件
Recent Announcements
Recent Announcements
博客园 - 【当耐特】
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
美团技术团队
T
The Blog of Author Tim Ferriss
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog
V
V2EX
J
Java Code Geeks
有赞技术团队
有赞技术团队
博客园 - 聂微东
B
Blog RSS Feed
博客园 - 司徒正美

程序员

V2EX 看到讨论"跨域"的帖子,那个她好像回来了 codex 今天真的是不稳定呀。 火山方舟 Coding Plan 慎买 刚问了大家 openclaw 和 hermes 在什么机器上面玩,求推荐一个机器 GPT-image-2 生成 AI 图片防伪有感 codex pro 5 小时限制已经严重缩水 逆天 Antigravity 动态 JSON 序列化对强类型语言很难吗? 自建了 GPT Coding Plan,遇到了定价问题,请教大家 大家都是在什么设备上玩 openclaw 以及 hermes 的呀? 软考还有一个月就考试了,你们学习了吗? 大伙用 AI 会考虑在 user scope 的 CLAUDE.md/AGENTS.md 里交代 AI 说中文吗 我发现程序员这个群体很大部分其实挺抠的 最近使用 cc 总会莫名其妙的返工, codex 不会 目前体验最好的远程 vibe 工具 想知道大佬们抓包遇到 ssl pinning 都是咋优雅的 解决的? 工业软件的大佬们是怎么 vibe coding 的 最近 chrome 是不是有 bug 啊,一搜索就卡住 分布式异步系统在 vibe coding 下的困境 PHP Native AOT 编译器,支持将 PHP 代码编译为可执行文件,运算性能提高 150 倍 没想到 2026 年,还要浪费大量时间在跨域问题上 DeepSeek V4 这周会出吗? 中转站正式试营 欢迎试用 不掺不假 小米 mimo 升级 v2.5,并且重置了额度 Jenkins, SCM 轮询完全不工作是啥问题啊 赛博斗蛐蛐, AI 模型的简单对比(白嫖版) 使用中转站要擦亮眼睛!不说别的,倍率计算 充值好乱。 买了火山的 Coding Plan 测试得出计费模式 给我的 AI 生成了简历和状态卡, 大家帮忙看下 Ta 能找到啥样的
ai-diving:让 LLM 替我盯着 Docker 镜像"是不是又胖了"
treexie · 2026-05-10 · via 程序员

起因

以前使用wagoodman/dive分析镜像优化空间,每次生成镜像之后自己执行命令过于麻烦,后来就diving-rs可以通过 webhook 的形式触发分析,再记录到数据库中定期分析。

但用着用着发现两件事:

1 、需要人工参与的工作一直都会滞后,甚于变成了形式工程(只记录无人分析) 2 、每个人对标准不一致,也没有统一的数据作为指标,最终也无法保证规则得到有效执行

刚好赶上小米开放百万亿 token 的免费额度,懒人福音。把"人盯报告"换成"AI 盯报告":每次新 push ,把这次的 diving 报告 + 上次成功的 LLM 结论一起喂给模型,让它做对比分析。

系统 prompt 写得比较简单(后续提供自定义),核心几条:

  • 表现良好的指标(体积减小、浪费率 0%、非 root )禁止提及,不要废话
  • 体积劣化必须穿透到具体 Layer + 具体文件,精确到 MB
  • OverlayFS 穿透判定:基础镜像的固化冗余禁止建议跨层 RUN rm -rf(那只会让镜像更大),只建议换基底
  • 新增 COPY/ADD 文件 owner 是否与 USER 倒挂

加上"无异常就回一句健康通过;有异常就只说问题 + 改哪几行"的硬约束,输出基本没什么水分。

流程

Docker Hub Webhook --> ai-diving (入队 + dedupe) --> cron 每分钟抢一批 WAITING diving-rs (拉镜像 / 出 markdown) + 上次成功的 LLM --> 优化建议 markdown --> 企业微信机器人 / Resend 邮件

输出长啥样

完成后大概是这样的报告(示例):

🚨 核心异常与劣化痛点

  • COPY 指令引入的 static-serveentrypoint.shhttpstat 文件所有权 (Owner 0:0 即 root) 与镜像运行时用户 (ubuntu) 存在权限倒挂,违反最小权限原则。

🛠️ 必须执行的修复代码

  • USER ubuntu 指令前增加以下指令以修正文件所有权:
RUN chown ubuntu:ubuntu /usr/local/bin/static-serve /usr/local/bin/httpstat /entrypoint.sh
  • 或在 COPY 指令时直接指定所有者(推荐):
COPY --chown=ubuntu:ubuntu /static/target/release/static-serve /usr/local/bin/static-serve
COPY --chown=ubuntu:ubuntu /static/entrypoint.sh /entrypoint.sh
COPY --chown=ubuntu:ubuntu /usr/local/bin/httpstat /usr/local/bin/httpstat

下次镜像稳定了再 push ,LLM 自己会回"与上次结论一致",静默不打扰。

在线 demo / 仓库

求拍砖、提 issue 、提建议。如果你也有"不依赖 docker daemon 的镜像分析"需求,diving-rs 拎出来单用也行。