用docker来安装openclaw
用docker来安装openclaw
前言
最近OpenClaw的热度确实居高不下,但它本质上仍是一个处于高速成长期的系统,远未到“成熟稳定”的阶段。这不奇怪,看看开源代码库,一天一个Release算是常态,频繁且快速的迭代正是它活力的体现。
随之而来的,自然是各种意料之外的Bug、与第三方插件的兼容性问题。如果选择在裸机环境直接部署,无论是升级尝鲜还是遇到问题需要回退版本,操作起来都挺折腾。
怎么办?一个高效的思路,是把它装进Docker容器里。这么做的好处显而易见:环境完全隔离,版本切换和回退变得干净利落,管理和维护的复杂度直线下降。
安装
通常,用Docker部署OpenClaw有两种主流思路,各有各的适用场景:
- 启动一个基础镜像,当作VPS来手动安装:这种方式灵活度高,特别适合测试新版本、开发调试插件。
- 编写Dockerfile构建专属镜像,再用Docker Compose编排启动:这种方式更适合封装标准化环境,便于团队分享和持续集成。
下面,咱们就一起来实际操作,感受一下这两种方法的差异和门道。
在基础镜像内手工安装
根据官方推荐,OpenClaw需要Node 22或更高版本。所以,我们选择node:22-trixie这个官方镜像作为起点。
启动容器的命令如下:
docker run -it --net=host -v ./openclaw:/root/.openclaw --name openclaw node:22-trixie bash
简单解释几个关键参数:
--net=host:直接使用宿主机网络,省去端口映射的麻烦,测试时最方便。-v ./openclaw:/root/.openclaw:将OpenClaw的数据目录挂载出来持久化,这是核心数据,必须保留。--name openclaw:给容器起个名字,方便后续管理。bash:最后启动Bash shell,进入一个干净的Node环境。
安装
进入容器后,直接用NPM安装最新版:
npm install -g openclaw@latest
看到成功的提示,安装这一步就算完成了。

初始化配置
第一次启动,推荐使用官方的引导命令 openclaw onboard。它会以交互式问答的方式,帮你完成所有基础配置,并在最后自动启动网关服务。

上图展示了引导流程,红色部分是每个步骤的提示,灰色部分则是需要你输入或选择的信息。整个过程基本按提示操作即可,但有一个小坑需要留意:

飞书插件其实已经被集成在OpenClaw基础包里了。如果这里你再选择“安装”,系统里就会出现两个版本,极易导致冲突。所以,直接跳过这一步就好。
当引导流程走到最后,看到下图这个页面时,意味着配置完成了,并且服务已经启动。

但先别高兴太早,这时候其实还访问不了。因为“快速配置”模式默认监听的是本地回环地址(127.0.0.1),并且禁用了非HTTPS访问。如果你计划把它部署在生产环境,放在Nginx或Caddy这类反向代理后面,这个配置是合适的。但对于我们当前本地测试,就需要调整一下。
先用 Ctrl+C 终止运行。然后,直接编辑配置文件:
vim ~/.openclaw/openclaw.json
找到配置文件中 gateway 的部分,修改 mode、bind、controlUi 这几个关键项。修改后的配置大概长这样:
"gateway": {
"port": 18789,
"mode": "local",
"bind": "lan",
"controlUi": {
"enabled": true,
"allowInsecureAuth": true
},
"auth": {
"mode": "token",
"token": "1876cbd181533358223674dab4841f60c252f62c206a53f9"
},
"tailscale": {
"mode": "off",
"resetOnExit": false
}
}
配置好之后,重新启动网关:
openclaw gateway
当看到熟悉的启动成功日志时,大功告成。

现在,就可以在浏览器里访问了,地址格式是:http://你的服务器IP:18789/?token=你的配置文件中的token
测试一下
首次访问,系统会提示你为这个网关实例起个名字,完成后就能进入管理后台了。

保存镜像
折腾了这么久,一个可用的环境配置好了,当然要把它保存下来。在宿主机上执行:
docker ps
docker commit f0bd197aec12 openclaw:0.0.1

这样一来,我们就有了一个属于自己的、特定版本的OpenClaw镜像。以后想测试其他版本,或者遇到问题需要回滚,就变得无比简单。
使用Dockerfile构建openclaw镜像
说完了灵活的手动安装,再来看看如何通过标准化的Dockerfile来构建和分发。
OpenClaw官方本身就支持Docker部署,源码库里提供了完整的Docker配置,文档里也有相应说明。我们的思路是:以官方配置为蓝本,做一些定制化简化,比如把一些动态配置改为写死的默认值,让构建和使用更直接。
首先,拉取代码:
git clone --depth 1 https://github.com/openclaw/openclaw
然后,打开Dockerfile进行修改,主要动了三个地方:
- 在基础镜像里额外安装了
git、curl、jq等常用工具。 - 将运行用户改为
root,避免一些权限上的麻烦。 - 删除了自带的飞书插件包。这步并非必须,只是因为个人习惯使用另一个第三方的飞书插件,而两个插件共存会冲突。

紧接着,开始构建镜像:
docker build -t openclaw:local -f Dockerfile .
镜像构建完成后,用Docker Compose来编排启动就非常优雅了。一个简单的 docker-compose.yml 可以这样写:
services:
openclaw:
image: openclaw:local
container_name: openclaw
restart: unless-stopped
environment:
TZ: Asia/Shanghai
HOME: /root
TERM: xterm-256color
volumes:
- /home/openclaw:/root
- ./logs:/tmp/openclaw
command: ["node", "dist/index.js", "gateway", "--port", "18789"]
这里有几个点值得解释:
/home/openclaw:/root:将容器内root用户的所有数据持久化到宿主机,这是核心。./logs:/tmp/openclaw:OpenClaw默认将日志输出到/tmp/openclaw,挂载出来方便实时查看。command:这是最终启动服务的命令。但注意,第一次运行时不能直接加这个参数,因为还没有配置文件。第一次启动可以省略此配置,使用Dockerfile里的默认命令进入无配置启动模式。
初始化配置
配置环节和手动安装时大同小异,只是进入容器的方式不同。你可以选择:
# 方式一:进入已运行的容器进行配置
docker exec -it openclaw bash
node /app/disk/index.js onboard
# 方式二:直接运行一次性命令完成配置
docker compose run --rm openclaw onboard
后续的配置步骤,和前面“手工安装”部分完全一致,就不再重复了。
最后需要提醒一个关键区别:使用官方Dockerfile构建的镜像,其命令执行方式与NPM全局安装不同,所有操作都需要通过node来调用核心文件。比如安装插件:
# NPM全局安装方式
openclaw plugins install @m1heng-clawd/feishu
# Dockerfile构建镜像方式
node /app/dist/index.js plugins install @m1heng-clawd/feishu
小结
客观地说,OpenClaw正在给AI应用开发带来一场变革——它让一个只会“对话”的AI,真正拥有了感知和操作现实世界的“双手”。潜力巨大,但挑战也同样明显。
目前这个阶段,项目迭代速度极快,新功能和新Bug可能同时到来。采用Docker化的部署策略,无疑是最明智的选择。它提供了完美的环境隔离,让版本管理、升级回退这些操作变得轻量且可控。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Trae代码重构指南:一键优化代码结构与最佳实践
Trae提供AI驱动的代码重构功能,支持五种方法应对不同场景。局部编辑模式可精准优化选中代码;Chat模式能跨文件协同优化;Builder模式适用于模块或架构升级;Qwen3-Coder-Plus模型专项提升可测试性;系统还能智能识别代码坏味道并推荐重构方案。用户通过快捷键和自然语言指令即可操作,预览确认后应用变更。
ClawBot如何快速调整话术上线季节性促销活动
节假日期间ClawBot话术切换慢,通常因专属提示词模板缺失、活动参数未注入或策略未绑定活动ID所致。可通过四步解决:配置节日专属模板并热生效;绑定活动ID与话术策略;注入实时促销参数;最后进行灰度测试与数据优化,确保话术准确高效。
豆包大模型推理成本优化方法与降本策略
豆包大模型部署需优化配置:批量处理应确保batch_size≥4,采用预填充与解码分离模式。移动端需手动指定量化位数,避免长上下文在轻量版运行。迁移模型须用专用工具重训路由参数,专家数量不宜过多。量化应精细化,仅针对部分计算密集模块,并禁用框架自动转换,以平衡效率与精度。
可灵AI制作气泡上升破裂特效详细教程
在可灵AI中生成气泡从液体底部升起到水面破裂的特写镜头时,若效果不佳,可尝试:将过程拆解为三个物理阶段并用精确参数描述;利用首尾帧控制并配合光学破裂指令;启用视频3 0模型并注入液体粘度、表面张力等物理参数;上传真实液体基底图并开启表面法线重建功能,以引导模型模拟真。
AI模特换装视频效果真实自然吗服装电商实测解析
使用可灵AI制作服装电商换装视频时,需提供高清、姿态标准且背景简洁的原图。调整参数时应强化物理模拟与运动平滑,关闭风格化增强。复杂服装可采用分层替换与局部重绘处理。最后,引入真实动作参考视频进行微观校准,可显著提升动作自然度与布料动态真实感。
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

