乐于分享
好东西不私藏

Docker部署OpenClaw笔记

Docker部署OpenClaw笔记

OpenClaw作为一个强大的Agent框架,如今也成为家喻户晓的存在。既然都这么火,不亲手试试看就说不过去了。由于可能存在的安全问题,我这里选择docker部署,希望强大的龙虾不要在我不知道的情况下动我电脑上的其他文件。

下载仓库

https://github.com/openclaw/openclaw.gitcd openclawgit checkout v2026.3.8git switch -c v2026.3.8

启动配置

先拉取国内源的image,方便后面部署时使用,设置OPENCLAW_IMAGE可使其使用已经拉取的image,否则会自己去build,国内大概率会出现访问不了docker.io的问题。

docker pull ghcr.nju.edu.cn/openclaw/openclaw:latestOPENCLAW_IMAGE=ghcr.nju.edu.cn/openclaw/openclaw ./docker-setup.sh

另外也可以指定其他环境变量,比如OPENCLAW_CONFIG_DIR,OPENCLAW_WORKSPACE_DIR,默认在home目录下。

这个docker-setup.sh脚本会执行下面的工作:

  • 构建 Gateway 网关镜像

  • 运行onboarding向导

  • 打印可选的提供商设置提示

  • 通过 Docker Compose 启动 Gateway 网关

  • 生成 gateway token并写入 .env

Onboarding

设置脚本启动,可以看到它LOGO和一段理性的安全警告,看完选择Yes并继续

后面的流程我一切从简,除了大模型选择了Kimi2.5,并填入了它的API key

这里能跳过的也都选择skip了,比如web search,skills,hooks

看到下面的log之后,部署就算是完成了。按照它提示,需要先把http://127.0.0.1:18789/#token=xxxx  填入浏览器访问。注意,这里一定要带上token。

问题解决

理论上应该可以直接访问上面这个URL了,事实却不行,如下图。可能是因为docker复杂的网络原因,这里的127.0.0.1已不再是宿主机上的那个127.0.0.1了。在docker的log里面也能发现下面的错误:同时也找到一个可以解决的方法,就是配置gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=true这个flag。我选择直接修改~/.openclaw/openclaw.json,如下。这里还有一个可以参考的issue,https://github.com/openclaw/openclaw/issues/27473 ,有兴趣的可以看一下。

"gateway": {    "port": 18789,    "mode": "local",    "bind": "loopback",    "controlUi": {      "dangerouslyAllowHostHeaderOriginFallback": true    },

修改完上面的配置,然后再访问带token的URL,出现新的错误提示,要求设备进行配对。

在docker里面执行openclaw devices相关命令可以完成配对,更多使用方法可以用help查询

docker exec -it openclaw-openclaw-gateway-1 openclaw devices help

配对主要是两步,查询Request ID,用list可以看到一个pending 的request,把它的Request ID交给approve命令,运行后配对也就完成了

docker exec -it openclaw-openclaw-gateway-1 openclaw devices list

docker exec -it openclaw-openclaw-gateway-1 openclaw devices approve RequestID

成功

再次访问带token的URL,看起来一切正常了,它能清楚的知道自己是OpenClaw+Kimi的机器人。

至此,openclaw的docker部署算是完成了。但是这才是开始,后面需要发掘其强大的能力,就必须把之前跳过的步骤在这个页面中重新加起来,比如channels,web search,skills,这些都是如今强大的AI Agent不可或缺的组成部分。Token消耗也是很大问题,如何高效地让openclaw完成任务也是值得深入思考的。

参考链接:https://github.com/openclaw/openclawhttps://github.com/openclaw/openclaw/blob/main/docs/install/docker.md