尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Hermes Agent 容器镜像瘦身实战
Hermes Agent 容器镜像瘦身实战【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent每次 CI 拉取 Hermes Agent 新镜像都要等十几分钟4GB 的镜像在办公网下超过一分钟首次部署更久。镜像还随功能持续膨胀——编译器残留、pip 缓存、只给开发用的依赖全被默默打包进去。下面是我实际做过的镜像瘦身步骤把体积压到 1GB 以内拉取时间从 12 分钟降到 3 分钟。为什么镜像体积值得关注大镜像的代价体现在三处拉取时长4GB 镜像在 50Mbps 线路上要 11 分钟1GB 只要 3 分钟冷启动节点解包层数多、体量大首次扩容明显变慢带宽成本每次镜像更新都要重传变化层依赖层顺序放错团队每天都在重复付费。这三项不需要理论就能感知——每次发版都在体会。 优化链路下面按构建链路自底向上展开每层只解决一个问题效果直接反映在最终体积上。1. 基础镜像层别用完整发行版打底这层解决地基有多大。项目Dockerfile直接基于debian:13.4精简底座uv 和 node 各用一个独立 source 阶段拷入二进制而不是站在带完整工具链的python:3.11基础镜像上。slim 路线比完整版节省 60%~70% 的底子体积是整个瘦身收益最大的一项。FROM debian:13.4 AS sqlite_build # 构建阶段只编译修 bug 用的 SQLite FROM debian:13.4 # 运行阶段不继承构建阶段的工具 COPY --fromsqlite_build /opt/sqlite-fixed/lib/*.so.3.53.4 /usr/local/lib/2. 构建与运行分离把编译器挡在最终镜像外这层解决留下的东西是不是都非留不可。SQLite 需要自编译修掉 WAL-reset bug于是用专门的 build 阶段编出libsqlite3.sonode 则从上游 slim 镜像拷入。最终运行镜像只接收 .so 与 node 二进制build-essential和整套工具链随构建阶段丢弃通常再省 30%~50%。3. 依赖裁剪与缓存清单文件先于源码进层这层解决装多了和缓存反复失效。两个细节一是uv sync只装生产用的 extras明确不用--all-extrasRL 相关的 torch、wandb 不进发布镜像光这一项就是几个 GB二是先拷pyproject.toml与uv.lock装依赖、后拷源码。项目里拆出这层前每次只改源码的提交都要重跑约 4~5 分钟的依赖安装。COPY pyproject.toml uv.lock ./ # 清单先行 → 依赖层可命中缓存 RUN uv sync --frozen --no-install-project --extra all COPY --link . . # 源码最后改代码不碰依赖层4. 运行时参数镜像只读数据进卷这层解决跑起来之后镜像不再继续变大。代码固化在只读的/opt/hermes可变状态全部落到/opt/data卷连懒安装的 SDK 也指向数据卷而非镜像层。配合部署端设置空闲超时与内存上限容器闲置即回收扩容时不会每次都吃全额冷启动。ENV HERMES_HOME/opt/data # 可变状态放持久卷 ENV HERMES_DISABLE_LAZY_INSTALLS1 # 代码层只读运行时不再 npm/pip VOLUME [/opt/data]⚠️ 容易踩的坑现象改一行源码所有依赖层失效构建时间翻倍。原因COPY . .排在依赖安装之前任何代码变更都打破层哈希。正确做法清单文件pyproject.toml、uv.lock、package.json先行安装源码后拷。现象镜像不大但拉取仍慢节点首次启动总要多等几分钟。原因层数过多且 apt 列表、npm/pip 缓存没清理首启每层都要重新校验。正确做法系统依赖合并进一个 RUN末尾顺手rm -rf /var/lib/apt/lists/*和npm cache clean --force。现象功能首次启动正常容器重建后突然ModuleNotFoundError。原因懒安装写进了镜像层重建即丢失。正确做法能构建期烤入的就uv sync/npm ci烤入必须懒装的指向持久卷。别急着重写整个Dockerfile先在 CI 里加一条docker history看哪层最厚只做基础镜像选型 清单先行两件事下个发版就能看到拉取时间下降。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

数学建模中Matplotlib进阶:从基础绘图到专业可视化

数学建模中Matplotlib进阶:从基础绘图到专业可视化

1. 从“能画”到“画好”:数学建模中的Matplotlib进阶之路 如果你参加过数学建模比赛,或者处理过任何需要数据可视化的科研、分析任务,大概率用过Matplotlib。这个Python绘图库的名气太大了,大到很多人觉得“作图”就等于 import…

📅 2026/9/12 20:22:54
拓扑排序与动态规划:DAG路径计数问题详解与P4017题解

拓扑排序与动态规划:DAG路径计数问题详解与P4017题解

1. 项目概述:从一道题到一类问题的深度思考 最近在整理算法笔记时,又翻到了这道经典的“P4017 最大食物链计数”。这题在洛谷上被标记为“普及/提高”的难度,但它的意义远不止于一道普通的图论练习题。它像一把钥匙,能帮你打开拓扑…

📅 2026/10/5 5:28:48
高性能计算工程师秋招笔试复盘:从体系结构到并行优化

高性能计算工程师秋招笔试复盘:从体系结构到并行优化

秋招提前批的一行行代码,是我入行高性能计算的第一课。 去年夏天,我投了网易有道的高性能计算工程师提前批岗位。笔试通知来得比我预期快,整个笔试过程也让我对“高性能计算”这四个字有了更具体的认知。不同于常规后端开发笔试,…

📅 2026/9/15 14:04:44
MORE NEWS

更多资讯

📰

慈利高压电工证怎么考?学历不高也能拿全国通用证书

慈利高压电工证怎么考?学历不高也能拿全国通用证书 你是不是也担心自己学历不高,根本报不了名?其实慈利高压电工证考试对学历要求并不高,只要满足年龄、健康等基本条件,就能报名参加。而且,这个证书是 全国通用…

📰

慈利高压电工证怎么考?郑州报考避坑指南全解析

慈利高压电工证怎么考?郑州报考避坑指南全解析 你现在可能正盯着手机屏幕,心里想着: 急需特种作业证才能上岗找工作 ,但不知道从哪里下手。别急,这篇文章就是为你量身打造的。我以一个在河南从事特种作业培训多年的从业者身份,告诉你如何避开郑州报考…

📰

挂电工证安全吗全流程办理指南

挂电工证安全吗全流程办理指南 实操考试心里没底怕挂科?别急,先看你怎么准备。今天就给你说说【挂电工证安全吗】这个问题,以及怎么通过【网上查询】确认自己是否符合报考条件,确保整个流程不走弯路。 一、挂电工证安全吗?真相你必须知道…

📰

电工证换证年龄别担心,官方报名入口全攻略

电工证换证年龄别担心,官方报名入口全攻略 学历不高怕报不上名?别慌,电工证换证年龄其实不难搞清楚,关键是你要知道官方报名入口在哪,怎么操作,别被网上一堆乱七八糟的信息绕晕了。今天就来给你讲讲电工证换证年龄、报名材料、答题技巧这些实用干货,河…

📰

赤峰低压电工证哪天考怎么报名?外省证转过来全攻略

赤峰低压电工证哪天考怎么报名?外省证转过来全攻略 之前考的证在外省能不能转过来?这几乎是所有准备考赤峰低压电工证的学员最先问的问题。其实答案是能转,但流程和材料必须搞清楚,不然会影响后续的报名和执业。这篇文章就带你详细梳理赤峰低压电工证哪天…

📰

电工证要多久才能审?网上查询流程及补办指南

电工证要多久才能审?网上查询流程及补办指南 你手里拿着电工证,但马上要到期了,心里慌得一批,生怕耽误了找工作机会。别急,今天就给你说说电工证复审到底要多久,网上查询怎么操作,还有补办流程,全是实打实的经验干货。…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬