位置:首页 > 热点资讯 > OpenClaw本地部署版本更新方法

OpenClaw本地部署版本更新方法

时间:2026-08-05  |  作者:夜鞌不睡  |  阅读:0

OpenClaw本地Docker部署的版本更新,目前没有一键升级脚本或自动更新机制。只能手动操作:拉取新镜像、重建容器、迁移配置。如果跳过这一步,旧版本会持续运行,新功能和安全修复就与你无关。

OpenClaw本地部署怎么更新版本?

那么,具体怎么操作?下面一步步拆解。

确认当前运行版本

先运行以下命令,查看正在运行的容器和对应的镜像名:
docker ps --format "table {{.Names}}t{{.Image}}" | grep openclaw

如果输出是 openclaw-appdocker.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页面,查看最新的稳定版,比如v0.42。然后执行:
docker pull docker.all-hands.dev/all-hands-ai/openclaw:0.42

方法二:拉取 runtime 配套镜像(必须同步更新)

OpenClaw运行依赖sandbox runtime镜像,版本必须严格匹配。查看v0.42对应的runtime标签,执行:
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.42-nikolaik

这里有个坑:如果只更新openclaw主镜像,忽略runtime,容器启动时会报错 failed to resolve runtime image,服务直接崩溃。所以两边都得拉。

停用旧容器并清理残留

  • 第一步:停止并移除当前容器
    docker stop openclaw-app && docker rm openclaw-app
  • 第二步:检查是否遗留命名卷
    docker volume ls | grep openclaw —— 如果输出包含 openhands-stateopenclaw-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

启动后立即验证

浏览器打开 http://localhost:3000。加载成功,左下角显示版本号 v0.42,就说明更新完成了。

检查日志

在终端里按 Ctrl+C 中断前台运行。再执行 docker logs openclaw-app 2>&1 | grep -i "error|fail|warn"。如果输出为空,或者只有无关紧要的warning,说明服务已经就绪。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多