应更新docker-compose.yml中image字段为nousresearch/hermes-agent:latest,同步调整volumes挂载路径至/opt/data、修正环境变量名如API_SERVER_KEY,并执行docker compose down、pull、up -d完成升级。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要把正在运行的 Hermes Agent 服务切换到最新版镜像,但发现旧的 docker-compose.yml 里写的镜像名已经失效或指向旧版本,必须同步更新镜像名并调整配置才能正常拉取和启动。
确认当前使用的镜像名
执行 docker images | grep hermes 查看本地已有的镜像。注意观察 REPOSITORY 列是否为 nousresearch/hermes-agent、hermesagent/hermes-agent 或其他变体——不同部署方式默认镜像源不同,【官方主推的是 nousresearch/hermes-agent:latest】,但早期文档或 fork 项目可能用其他命名空间。
如果输出为空,说明尚未拉取过任何 Hermes 镜像,可跳过此步直接进入拉取环节。
更新 docker-compose.yml 中的镜像字段
打开你正在使用的 docker-compose.yml 文件,定位到 services 下的 hermes(或 hermes-gateway、hermes-dashboard)服务定义块。
找到 image: 行,将其值替换为最新镜像地址:
方法一:使用官方稳定镜像(推荐)image: nousresearch/hermes-agent:latest
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
方法二:使用轩辕加速镜像(国内用户提速)image: docker.xuanyuan.run/nousresearch/hermes-agent:latest
方法三:指定精确版本号(适合生产环境锁定)
先查最新 tag:访问 Docker Hub 页面 或执行 curl -s "https://hub.docker.com/v2/repositories/nousresearch/hermes-agent/tags/" | jq -r '.results[].name' | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$' | head -n1 获取最新语义化版本,例如 0.4.2,然后写成:image: nousresearch/hermes-agent:0.4.2
【不要保留旧镜像名如 jvsheng/hermes-agent 或 hermesagent/hermes-agent,它们已停止维护】
同步更新环境变量与挂载路径
第一步:检查 volumes 挂载路径是否仍匹配新镜像预期位置。
新版 Hermes Agent 默认将数据存放在 /opt/data,若你原来挂载的是 ./data:/app/data,需改为 ./data:/opt/data,否则容器启动后无法读取已有配置和记忆。
第二步:确认 environment 区域中关键变量未被覆盖。
特别是 GATEWAY_HEALTH_URL(dashboard 依赖)、API_SERVER_KEY(若启用认证)等字段,必须与新镜像的运行时逻辑兼容。旧版可能用 HERMES_API_KEY,新版统一为 API_SERVER_KEY。
第三步:删除已废弃的 command 字段冗余参数。
例如旧配置中存在 command: gateway run --host 0.0.0.0,新版已将 host 绑定逻辑内置,默认监听所有接口,保留 command: gateway run 即可,多写的参数反而导致启动失败。
重新部署生效
保存修改后的 docker-compose.yml 文件。
执行以下命令完成滚动更新:docker compose down → docker compose pull → docker compose up -d
等待约 10~20 秒,运行 docker compose ps 确认状态为 running,且 IMAGE 列显示刚拉取的镜像标签。
最后验证服务可用性:curl -s http://localhost:8642/healthz 应返回 {"status":"ok"};curl -s http://localhost:9119/healthz 同样应返回健康响应。

















