分享一下在服务器上用Docker部署Openclaw的经历

2 阅读8分钟

一.说明

我的服务器是阿里云租赁的2核2G的轻量服务器,本地电脑是AMD64架构的, 由于服务器性能比较受限,很容易卡死。 所以这次我采用了在本地预下载+配置,之后打包发给服务器的方式来进行配置 这样的话就能避免在服务器上部署时因为内存占用高而卡死的现象。这次我使用的是Qwen大模型(送的有免费额度),配置的版本为Openclaw v2026.3.24,使用个人微信进行接入(微信Clawbot)。

请先阅读后再尝试

微信图片_20260329124352_161_12.jpg

那我们开始。

二.准备

首先我们需要在电脑上安装Docker,然后需要用到windows自带的powershell。

image.png image.png

请确保Docker能够正常运行,注意powershell用管理员启动,我们绝大部分的本地准备工作将会在powershell里进行。

我们首先创建一个文件夹,结构大致如下

E:\
└── OpenClaw3.24\
    ├── openclaw-2026.3.24.tar          # Docker 镜像文件
    ├── docker-compose.yml              # Docker Compose 配置文件
    ├── .env                            # 环境变量文件
    └── data\                           # 数据目录(存放配置)
        └── openclaw.json               # OpenClaw 配置文件(可选)

接下来是一些必要的配置

1.docker-compose.yml

version: '3.8'

services:
  openclaw:
    image: openclaw:2026.3.24
    container_name: openclaw-gateway
    restart: unless-stopped
    ports:
      - "18789:18789"
    volumes:
      - ./data:/home/node/.openclaw
    environment:
      - OPENAI_API_KEY=(API密钥)
      - OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1(API 端点地址)
      - OPENAI_MODEL=qwen-turbo(我所用的模型)

这一块主要是进行服务定义和端口映射,最重要的是进行环境变量的配置,也就是environment这一块,主要是进行一些API的设置。

2..env

OPENCLAW_TOKEN=(访问 OpenClaw 服务的认证令牌,也可以叫网关Token)
OPENAI_API_KEY=(API 密钥)
OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1(API 请求的基础地址)
OPENCLAW_MODEL=qwen-turbo(我用的模型)

这个是进行环境变量的配置。

我们可以先用Powershell来生成一个高强度的随机网关Tocken,用管理员打开Powershell,输入

-join ((1..32) | ForEach-Object { '{0:x2}' -f (Get-Random -Maximum 256) })

然后会得到一串字母加数字的组合,这个就是你的网关Token了,要记好并不要泄漏。

3.data/openclaw.json

这个先不着急,之后我们进行配置后会自动生成,不用创建这个json文件,有个data文件夹就行。

三.Docker镜像拉取

在Powershell里输入这个

docker pull ghcr.io/openclaw/openclaw:latest

这个是默认下的最新版本OpenClaw,我当时的最新版本为v3.24。

下载好之后,输入这个给镜像打个标签

docker tag ghcr.io/openclaw/openclaw:latest openclaw:2026.3.24

后面的版本按照你实际下载的版本就行。还有就是请务必确保你的Docker正常运行

然后我们在Powershell里输入这个来验证一下。

docker images | findstr openclaw

应该会有类似这样的输出。

ghcr.io/openclaw/openclaw   latest    xxx     xxx     xxx
openclaw                    2026.3.24 xxx     xxx     xxx

然后我们进入文件夹导入镜像

cd E:\OpenClaw3.24
docker load -i openclaw-2026.3.24.tar

然后启动容器

docker-compose up -d

然后我们进入容器进行官方配置

docker exec -it openclaw-gateway bash

输入这个进入OpenClaw配置界面

openclaw configure

然后会出现龙虾的官方配置界面,按照需求一步一步来即可。像这样。

🦞 OpenClaw 2026.3.24 (unknown) — I'm the reason your shell history looks like a hacker-movie montage.

配置好之后我们可以先测试一下是否调用模型成功,输入

openclaw tui

然后输入个你好试试看,应该能得到回复。

image.png

四.接入个人微信ClawBot

输入这个进入容器

docker exec -it openclaw-gateway bash

然后输入这个进行微信插件的下载,这一步的链接在个人微信的插件界面可见,请确保你的微信版本支持OpenClaw。

npx -y @tencent-weixin/openclaw-weixin-cli@latest install

或者可以用这个

openclaw plugins install "@tencent-weixin/openclaw-weixin@latest"js

安装好后输入这个进入容器

docker exec -it openclaw-gateway bash

然后允许插件运行

openclaw config set plugins.allow '["openclaw-weixin"]'

重启一下容器

docker-compose restart
Start-Sleep -Seconds 5
docker exec -it openclaw-gateway bash

查看一下插件列表

openclaw plugins list

应该能看到微信插件成功加载 然后我们试一下运行插件看看二维码是否能正常加载

输入这个试试,不行的话用另外一个试试

openclaw channels login --channel openclaw-weixin
openclaw channels login openclaw-weixin

如果二维码成功出现的话那恭喜你!先不用扫码,接下来就是打包发给服务器了。

过来人的标记:最好提前在容器里再下一个浏览器,Clawhub也可以先安装

五.打包发给服务器

我们在管理员PowerShell执行这一串命令,同时确保Docker正常运行。

cd E:\OpenClaw3.24

# 启动容器
docker-compose up -d

# 等待
Start-Sleep -Seconds 5

# 查看容器状态
docker ps | findstr openclaw

# 提交镜像
docker commit openclaw-gateway openclaw-configured:2026.3.24

# 导出镜像
docker save openclaw-configured:2026.3.24 -o openclaw-configured.tar

# 查看文件
dir openclaw-configured.tar

应该会出现类似这样的结果

PS C:\Windows\system32> cd E:\OpenClaw3.24 
PS E:\OpenClaw3.24> docker-compose up -d 
time="2026-03-28T12:47:41+08:00" level=warning 
msg="E:\\OpenClaw3.24\\docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion" [+] up 1/1 
✔ Container openclaw-gateway Running 0.0s 
PS E:\OpenClaw3.24> docker ps | findstr openclaw 36a3e2465a56 openclaw:2026.3.24 "docker-entrypoint.s?? About a minute ago Up About a minute (health: starting) 0.0.0.0:18789->18789/tcp, [::]:18789->18789/tcp openclaw-gateway 
PS E:\OpenClaw3.24> docker commit openclaw-gateway openclaw-configured:2026.3.24 sha256:fd42e4c1ef6f6d90861f29293d003564efe6b707ea8cebd163299321f75fe824 
PS E:\OpenClaw3.24> docker save openclaw-configured:2026.3.24 -o openclaw-configured.tar 
PS E:\OpenClaw3.24> dir openclaw-configured.tar 
目录: E:\OpenClaw3.24 Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2026/3/28 12:49 1127694336 openclaw-configured.tar 
PS E:\OpenClaw3.24>

这样就是打包成功了。然后传输给服务器。

scp -r E:\OpenClaw3.24 root@服务器公网网址:/opt/

输入服务器密码,然后就能看到很多的传输进度界面。

六.接入微信

传输完成后我们登陆上服务器,在终端输入

# 查看目录
ls -la /opt/OpenClaw3.24/

# 查看文件大小
du -sh /opt/OpenClaw3.24/*

检查是否传输完成

文件齐全后,在服务器上执行

cd /opt/OpenClaw3.24

# 导入配置好的镜像
docker load -i openclaw-configured.tar

# 打标签
docker tag openclaw-configured:2026.3.24 openclaw:2026.3.24

# 启动容器
docker-compose up -d

# 查看日志
docker-compose logs -f

如果启动失败了我们换一个方式启动

cd /opt/OpenClaw3.24

# 停止并删除
docker stop openclaw-gateway 2>/dev/null
docker rm openclaw-gateway 2>/dev/null

# 启动容器
docker run -d \
  --name openclaw-gateway \
  --restart unless-stopped \
  -p 18789:18789 \
  -v $(pwd)/data:/home/node/.openclaw \
  -e NODE_ENV=production \
  openclaw:2026.3.24

# 查看日志
docker logs -f openclaw-gateway

看看能不能扫码

docker exec -it openclaw-gateway bash
openclaw channels login --channel openclaw-weixin

问题修复

1.如果有微信插件的707问题请修复一下权限,在容器里执行

chmod -R 755 /home/node/.openclaw/extensions/openclaw-weixin
openclaw config unset plugins.entries.openclaw-weixin
openclaw config unset plugins.allow openclaw-weixin
openclaw config set plugins.allow '["openclaw-weixin"]'
exit
docker restart openclaw-gateway
docker exec -it openclaw-gateway openclaw channels login --channel openclaw-weixin

然后重启容器

exit
docker restart openclaw-gateway
sleep 5

2.不行的话试试这个

# 用 root 进入容器
docker exec -it --user root openclaw-gateway bash

在容器里执行

# 修改目录所有者
chown -R node:node /home/node/.openclaw/extensions/openclaw-weixin

# 修改权限
chmod -R 755 /home/node/.openclaw/extensions/openclaw-weixin

# 退出
exit

重启

docker restart openclaw-gateway
sleep 5

看看能不能扫码

docker exec -it openclaw-gateway bash
openclaw channels login --channel openclaw-weixin

只要二维码出来就成功

七.结语

扫上二维码之后应该就能进行正常的对话,你可以先给她设定一个角色,定义一下名字性格之类的。后续可以再安装一个Clawhub,整点skills之类的,比如联网搜索,总结等技能。联网搜索的话好像还要再进行配置,可以接入百度什么的,当然这些都是后话了,最关键的是现在Openclaw接入你的微信了,你可以吩咐她做任何事。

当然本文仅作分享,实际操作中可能还会出现一些问题,以及一些莫名其妙的报错,可以借助AI分析解决下。

但是总而言之,我们的方向是正确的,当你们打完招呼后就可以开始养属于你的小龙虾了,可以加一些你感兴趣的skills,但注意安全,还有就是OpenClaw是很消耗Token的,注意使用。然后就是用到联网 搜索功能的话需要在容器里安装一个浏览器,这也是消耗时间的,我也是后悔没在本地下载了。

我从0开始到安装成功用了3天,其中基本只有晚上在弄。中间经历了无数阻碍以及无法解决的报错,前一天半我一直尝试在服务器上直接抓取安装,但是奈何我的服务器性能太烂了,总是爆炸还有一些网络问题。所以当天下午我就准备本地安装然后打包传输,虽然中间也有一些坎坷,但是最后终于柳暗花明又一村,二维码出现了!然后我就开始安装一些skills,接入了浏览器的API。

最后总的体验就是OpenClaw的执行力很强,自己会想办法达成目标,就是我的Token在逐渐消失(哭)

还有就是当你可以跟你的Agent正常说话时,你完全可以让她自己下载skills等东西。

最后的最后希望大家一次安装成功,中间不报错,网络速度飞起。

谢谢阅读!!!