用docker来安装openclaw

用docker来安装openclaw

虽然最近openclaw火的不行,但是他依然是一个高速发展和成长中的系统或者说软件,还不是很成熟:看看他开源代码,一天一个release也常见。

所以,遇到各种bug,各种与插件的兼容性问题,也不奇怪。

如果安装在裸机中,回退升级都是很麻烦的事情,所以,我想把他安装在docker中,方便升级和回退。

我习惯用2中方式来在docker中安装openclaw:

  1. 启动一个基础镜像,把他当作一个VPS来安装openclaw
  2. 使用Dockerfile,编辑一个镜像,然后使用docker compose 编排来启动

第一种方式更灵活,适合测试和实验新版本,开发新插件。

第二种方法可以封装系统,适合用来分享镜像

现在来体验一下这俩种方式吧:

在基础镜像内手工安装

根据官方文档推荐使用node 22+,所以选择使用node:22-trixie作为基础镜像:

启动脚本:


简单解释:


安装

安装成功:

请添加图片描述

初始化配置

第一次启动可以选择使用:openclaw onboard

这个命令会使用引导方式去配置所有的信息并最后启动openclaw gateway,我们使用这种方式:

请添加图片描述

以上图,红色的就是每一步,灰色的就是我们选择或者填入的信息,其他特别要注意以下这步:

请添加图片描述

飞书的这个插件已经被集成在openclaw中了,但是如果这里你再选择安装,就会出现2个版本,会冲突。

当你看到这个页面的适合,就已经完成了配置,且已经启动了:

请添加图片描述

但是这时候其实是无法访问的:

我们安装选择的快速配置,没有配置网络,所以他目前监听本地网络,且禁止非https访问,所以实际无法访问。(如果是部署一个生产用的,准备放在一个caddy或者nginx等反向代理服务器后面,倒是可以的。)

使用ctrl+c终止程序运行,然后直接使用vim编辑:


找到gateway部分,修改mode、bind、controlUi部分,最终如下:


另:如果你还没用大模型API,可以先看看这篇:

来了!老黄NVIDIA免费为clawdbot续命

保存后启动:


当你看到这个页面的时候,就可以啦:

请添加图片描述

访问地址:

http://你的IP:18789/?token=你的token

测试一下:

你可以看到这个页面,先给他起个名字:

请添加图片描述

保存镜像

在主机下执行查询,可以看到运行的容器,直接使用commit来保存成镜像:


请添加图片描述

这样使用docker来安装openclaw就完成啦,就保存了一个指定的版本,也不影响我尝试安装其他的版本。

使用Dockerfile构建openclaw镜像

现在来试试打包发布的方式,来安装openclaw:

openclaw官方是支持使用docker来安装的,所以他的源码中有docker的所有配置,且官方文档也有相关内容。

所以我准备以他为基础,简化一下,将一些模板化的配置改成我需要的写死的信息,可以简化很多.

先下载代码:


打开dockerfile,主要修改了三个地方:

请添加图片描述

  1. 安装了git、curl、jq
  2. 修改为root用户运行
  3. 删除自带的飞书软件

步骤3不是必须的,而是因为我习惯了用了很久的一个第三方飞书插件,而系统俩个飞书插件是会冲突的。

编译:


构建完成后使用docker compose 编排:


简单解释:

  1. /home/openclaw:/root :将运行用户全部持久化下来
  2. ./logs:/tmp/openclaw :openclaw默认的输出日志位于/tmp/openclaw 刚开始测试我希望能更方便的查看
  3. command : 启动脚本,但是第一次运行的时候不要添加,因为还没配置,是无法执行的,可以不填

这样就会使用dockefile里面的默认命令,使用无配置openclaw文件启动

初始化配置

可以启动容器后,接入容器后来配置,也可以直接运行命令配置:


启动配置后的步骤,和第一种方式一样的,就不赘述了。

注意:

使用官方dockerfile构建的镜像,不像使用npm全局安装的,命令只能使用node去运行,例如:

安装飞书插件的俩这差别:


openclaw真的给ai带来了翻天覆地的变化,给一个只会嘴活的ai,添加了一双手!

但是目前也是在告诉发展期间,版本更迭太快,使用docker的方式能更好的隔离环境,更快的更新或者回退版本。

欢迎关注:

https://mp.weixin..com/s/7ExVbQHcd8v9CxA8nL_XWg?token=&lang=zh_CN

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/254788.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月13日 下午12:45
下一篇 2026年3月13日 下午12:45


相关推荐

关注全栈程序员社区公众号