openclaw本地docker部署需手动升级:先查当前镜像版本,再同步拉取匹配的openclaw主镜像与runtime镜像,停用旧容器、确认挂载权限后,用新镜像重启并验证web界面与日志。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw本地部署后需要更新版本,但官方并未提供一键升级脚本或自动更新机制,必须手动拉取新镜像、重建容器并迁移配置,否则旧版本会持续运行且无法获得新功能与安全修复。
确认当前运行版本
执行 docker ps --format "table {{.Names}}\t{{.Image}}" | grep openclaw 查看正在运行的容器及其镜像名。若输出为 openclaw-app → docker.all-hands.dev/all-hands-ai/openclaw:0.35,说明当前使用的是 0.35 版;若镜像标签是 latest,需进一步检查实际 digest:运行 docker inspect openclaw-app | jq -r '.[0].Image' 获取完整镜像 ID。
这一步不可跳过——【不同版本间环境变量、挂载路径、端口映射可能不兼容,盲目升级会导致容器启动失败或配置丢失】。
拉取新版镜像并验证可用性
方法一:按指定版本号拉取(推荐)
从 OpenClaw 官方 GitHub Releases 页面(https://github.com/All-Hands-AI/OpenClaw/releases)查到最新稳定版,例如 v0.42。执行:docker pull docker.all-hands.dev/all-hands-ai/openclaw:0.42
方法二:拉取 runtime 配套镜像(必须同步更新)
OpenClaw 运行依赖 sandbox runtime 镜像,版本需严格匹配。查看 v0.42 对应的 runtime 标签(通常为 0.42-nikolaik),执行:docker pull docker.all-hands.dev/all-hands-ai/runtime:0.42-nikolaik
注意:若只更新 openclaw 主镜像而忽略 runtime,容器启动时会报错 failed to resolve runtime image,服务直接崩溃。
本次更新实现飞书插件 npm 独立分发,新增 Ollama 本地模型配置及 openclaw 命令别名。引入 SQLite 持久化队列,支持断点续传。全面集成飞书、钉钉、企业微信及 QQ 官方渠道,优化阿里云百炼模型选择。修复多 Agent 路由、定时任务校验及配对授权等关键问题,提升系统稳定性与兼容性。
停用旧容器并清理残留
第一步:停止并移除当前容器docker stop openclaw-app && docker rm openclaw-app
第二步:检查是否遗留命名卷docker volume ls | grep openclaw —— 若输出包含 openhands-state 或 openclaw-data,说明用户状态和会话记录仍存在,可保留用于迁移;若无输出,跳过下一步。
第三步:确认挂载目录权限未被旧容器锁定
执行 ls -ld ~/.openclaw-state,若属主为 root 且当前用户无写权限,需先运行 sudo chown -R $USER:$USER ~/.openclaw-state,否则新容器无法写入配置。
用新版镜像重新启动容器
① 构造启动命令:沿用原参数,仅替换镜像标签与 runtime 环境变量docker run -it --rm --pull=always \-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.42-nikolaik \-e LOG_ALL_EVENTS=true \-v /var/run/docker.sock:/var/run/docker.sock \-v ~/.openclaw-state:/.openclaw-state \-p 3000:3000 \--add-host host.docker.internal:host-gateway \--name openclaw-app \docker.all-hands.dev/all-hands-ai/openclaw:0.42
② 启动后立即验证 Web 界面是否可访问:
浏览器打开 http://localhost:3000,加载成功且左下角显示版本号为 v0.42 即表示更新完成。
③ 检查日志有无关键错误:
在终端中按 Ctrl+C 中断前台运行,再执行 docker logs openclaw-app 2>&1 | grep -i "error\|fail\|warn",若输出为空或仅有无关 warning,则服务已就绪。









