阿里云CentOS上使用Docker部署OpenClaw并接入百炼大模型

其实现在好多云厂商都出了 OpenClaw 的一键镜像,点几下就能跑起来。但我手里正好有台阿里云的虚拟机闲着也是闲着,打算在自己服务器上搭一下。而且我也不想让 AI 助手一直挂在本地的电脑上,占资源也不安全。至于大模型,我选了阿里云百炼,新用户还能领几千万的免费额度,对我这种自己玩玩的来说,够用一阵子。

1. 环境准备

1.1 安装Docker和Docker Compose

bash

复制代码
# 安装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镜像加速器(可选,国内推荐)

bash

复制代码
sudo cat > /etc/docker/daemon.json << 'EOF'
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

1.3 开放阿里云安全组端口

登录阿里云控制台,进入ECS实例的安全组,添加入方向规则:

  • 端口:28789 //这个端口默认是18789,因为我之前部署过,所以换个新端口

  • 协议:TCP

  • 授权对象:0.0.0.0/0(或你的本地IP)

2. 部署OpenClaw

2.1 创建项目目录

进入你习惯的目录作为根目录

bash 复制代码
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-stopped

2.3 创建配置目录并设置权限

bash 复制代码
mkdir -p openclaw-data
sudo chown -R 1000:1000 openclaw-data

2.4 编写openclaw.json配置文件

openclaw-data/目录下创建openclaw.json

bash 复制代码
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 启动服务

bash 复制代码
docker compose up -d

2.6 查看日志确认启动成功

bash 复制代码
docker logs openclaw --tail 50

出现类似[gateway] ready的日志即表示成功。

3. 访问与使用

3.1 Web界面访问

浏览器打开:http://你的服务器公网IP:28789

系统会提示输入Token,输入你在openclaw.json中设置的token值。

3.2 选择模型

登录后,在聊天界面的模型下拉菜单中,选择aliyun_bailian/qwen-maxaliyun_bailian/qwen-plus,即可开始对话。

3.3 验证模型调用

发送消息,查看结果。

4. 常见问题解决

4.1 访问时提示"origin not allowed"

现象 :浏览器访问时显示origin not allowed,WebSocket连接被拒绝。

解决方法

  • 确保openclaw.jsongateway.controlUi.allowedOrigins包含了你的完整访问地址(例如["http://123.456.789.0:28789"])。

  • 同时设置"dangerouslyDisableDeviceAuth": true(测试环境可用,生产环境建议配置HTTPS)。

  • 修改后重启容器:docker compose restart

4.2 模型调用失败,提示"Unknown model"

现象 :日志中出现Unknown model: xxx

解决方法

  • 检查openclaw.jsonmodels.providers里的models数组是否包含了你尝试调用的模型ID。

  • 检查agents.defaults.modelagents.defaults.models中的模型ID是否与providers中的ID完全一致(注意格式为provider_id/model_id)。

  • 如果已有旧的agent配置,可删除openclaw-data/agents目录后重启容器,让系统重新生成。

5. 更新OpenClaw

bash 复制代码
docker compose pull
docker compose up -d

数据会保留在openclaw-data目录中,配置不受影响。


通过以上步骤,你可以在阿里云CentOS上成功部署OpenClaw,并接入阿里云百炼模型,通过Web界面进行对话。所有配置均持久化,便于后续维护和升级。

相关推荐
有谁看见我的剑了?2 小时前
关于linux namespace学习
linux·运维·docker
ai产品老杨2 小时前
异构计算时代的安防底座:基于 Docker 的 X86/ARM 双模部署与 NPU 资源池化实战
arm开发·docker·容器
HYNuyoah2 小时前
Ubuntu一键安装Docker和Docker Compose
linux·ubuntu·docker
一只小bit2 小时前
Docker 实战系列:接入生产场景,快速拉起服务
运维·docker·容器
熊猫钓鱼>_>2 小时前
私有化AI视频助手搭建实录:当Ollama遇上OpenClaw
人工智能·音视频·agent·qwen·ollama·openclaw·happyhorse-1.0
姜太小白3 小时前
【Linux】CentOS 7 XRDP 远程桌面配置
linux·运维·centos
AC赳赳老秦3 小时前
OpenClaw对接百度指数:关键词热度分析,精准定位博客创作方向
java·python·算法·百度·dubbo·deepseek·openclaw
牛奶咖啡133 小时前
Docker容器实践——docker数据管理、网络与容器互联
docker·容器·docker容器互联·docker数据卷·docker挂载主机目录·docker的网络·数据卷与挂载主机目录的数据规则
CodeCaptain13 小时前
【六】OpenClaw 从 TUI 切换到 Web 端完整方案
ubuntu·ai·openclaw