其实现在好多云厂商都出了 openclaw 的一键镜像,点几下就能跑起来。但我手里正好有台阿里云的虚拟机闲着也是闲着,打算在自己服务器上搭一下。而且我也不想让 ai 助手一直挂在本地的电脑上,占资源也不安全。至于大模型,我选了阿里云百炼,新用户还能领几千万的免费额度,对我这种自己玩玩的来说,够用一阵子。
1. 环境准备
1.1 安装docker和docker compose
# 安装docker sudo yum install -y docker sudo systemctl start docker sudo systemctl enable docker # 安装docker compose sudo curl -l "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
1.2 配置docker镜像加速器(可选,国内推荐)
sudo cat > /etc/docker/daemon.json << 'eof'
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
eof
sudo systemctl daemon-reload
sudo systemctl restart docker1.3 开放阿里云安全组端口
登录阿里云控制台,进入ecs实例的安全组,添加入方向规则:
- 端口:
28789 //这个端口默认是18789,因为我之前部署过,所以换个新端口 - 协议:
tcp - 授权对象:
0.0.0.0/0(或你的本地ip)
2. 部署openclaw
2.1 创建项目目录
进入你习惯的目录作为根目录
mkdir ~/openclaw && cd ~/openclaw
2.2 编写docker-compose.yml
version: '3.8'
services:
openclaw:
image: ghcr.io/openclaw/openclaw:latest
container_name: openclaw
ports:
- "28789:18789"
volumes:
- ./openclaw-data:/home/node/.openclaw
user: "1000:1000"
restart: unless-stopped2.3 创建配置目录并设置权限
mkdir -p openclaw-data sudo chown -r 1000:1000 openclaw-data
2.4 编写openclaw.json配置文件
在openclaw-data/目录下创建openclaw.json:
cat > openclaw-data/openclaw.json << 'eof'
{
"gateway": {
"bind": "lan",
"port": 18789,
"mode": "local",
"auth": {
"mode": "token",
"token": "your-strong-token-here"
},
"controlui": {
"allowedorigins": ["http://你的服务器公网ip:28789"],
"dangerouslydisabledeviceauth": true
}
},
"models": {
"mode": "merge",
"providers": {
"aliyun_bailian": {
"api": "openai-completions",
"baseurl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"apikey": "sk-你的阿里云百炼api-key",
"models": [
{ "id": "qwen-max", "name": "通义千问 max" },
{ "id": "qwen-plus", "name": "通义千问 plus" }
]
}
}
},
"agents": {
"defaults": {
"model": "aliyun_bailian/qwen-max",
"models": {
"aliyun_bailian/qwen-max": {},
"aliyun_bailian/qwen-plus": {}
}
}
}
}
eof重要替换:
- 将
your-strong-token-here改为你自己的强密码。 - 将
你的服务器公网ip替换为阿里云ecs的公网ip。 - 将
sk-你的阿里云百炼api-key替换为你在阿里云百炼控制台获取的真实api key。
2.5 启动服务
docker compose up -d
2.6 查看日志确认启动成功
docker logs openclaw --tail 50
出现类似[gateway] ready的日志即表示成功。
3. 访问与使用
3.1 web界面访问
浏览器打开:http://你的服务器公网ip:28789
系统会提示输入token,输入你在openclaw.json中设置的token值。
3.2 选择模型
登录后,在聊天界面的模型下拉菜单中,选择aliyun_bailian/qwen-max或aliyun_bailian/qwen-plus,即可开始对话。
3.3 验证模型调用
发送消息,查看结果。

4. 常见问题解决
4.1 访问时提示“origin not allowed”
现象:浏览器访问时显示origin not allowed,websocket连接被拒绝。
解决方法:
- 确保
openclaw.json中gateway.controlui.allowedorigins包含了你的完整访问地址(例如["http://123.456.789.0:28789"])。 - 同时设置
"dangerouslydisabledeviceauth": true(测试环境可用,生产环境建议配置https)。 - 修改后重启容器:
docker compose restart。
4.2 模型调用失败,提示“unknown model”
现象:日志中出现unknown model: xxx。
解决方法:
- 检查
openclaw.json中models.providers里的models数组是否包含了你尝试调用的模型id。 - 检查
agents.defaults.model和agents.defaults.models中的模型id是否与providers中的id完全一致(注意格式为provider_id/model_id)。 - 如果已有旧的agent配置,可删除
openclaw-data/agents目录后重启容器,让系统重新生成。
5. 更新openclaw
docker compose pull docker compose up -d
数据会保留在openclaw-data目录中,配置不受影响。
通过以上步骤,你可以在阿里云centos上成功部署openclaw,并接入阿里云百炼模型,通过web界面进行对话。所有配置均持久化,便于后续维护和升级。
以上就是centos上使用docker部署openclaw的全过程的详细内容,更多关于centos docker部署openclaw的资料请关注代码网其它相关文章!
发表评论