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

Written by

in

文章目录
  • docker compose pull docker compose up -d 数据会保留在openclaw-data目录中,配置不受影响。 通过以上步骤,你可以在阿里云CentOS上成功部署OpenClaw,并接入阿里云百炼模型,通过Web界面进行对话。所有配置均持久化,便于后续维护和升级。 到此这篇关于阿里云CentOS上如何使用Docker部署OpenClaw并接入百炼大模型的文章就介绍到这了,更多相关OpenClaw接入百炼大模型内容请搜索风君子博客以前的文章或继续浏览下面的相关文章,希望大家以后多多支持风君子博客!
  • 目录
    • 1. 环境准备
      • 1.1 安装Docker和Docker Compose
      • 1.2 配置Docker镜像加速器(可选,国内推荐)
      • 1.3 开放阿里云安全组端口
    • 2. 部署OpenClaw
      • 2.1 创建项目目录
      • 2.2 编写docker-compose.yml
      • 2.3 创建配置目录并设置权限
      • 2.4 编写openclaw.json配置文件
      • 2.5 启动服务
      • 2.6 查看日志确认启动成功
    • 3. 访问与使用
      • 3.1 Web界面访问
      • 3.2 选择模型
      • 3.3 验证模型调用
    • 4. 常见问题解决
      • 4.1 访问时提示“origin not allowed”
      • 4.2 模型调用失败,提示“Unknown model”
    • 5. 更新OpenClaw

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

      # 安装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

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

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

      • 端口:28789 //这个端口默认是18789,因为我之前部署过,所以换个新端口
      • 协议:TCP
      • 授权对象:0.0.0.0/0(或你的本地IP)

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

      mkdir ~/openclaw && cd ~/openclaw

      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

      mkdir -p openclaw-data
      sudo chown -R 1000:1000 openclaw-data

      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。

      docker compose up -d

      docker logs openclaw --tail 50

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

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

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

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

      发送消息,查看结果。

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

      解决方法

      • 确保openclaw.jsongateway.controlUi.allowedOrigins包含了你的完整访问地址(例如["http://123.456.789.0:28789"])。
      • 同时设置"dangerouslyDisableDeviceAuth": true(测试环境可用,生产环境建议配置HTTPS)。
      • 修改后重启容器:docker compose restart

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

      解决方法

      • 检查openclaw.jsonmodels.providers里的models数组是否包含了你尝试调用的模型ID。
      • 检查agents.defaults.modelagents.defaults.models中的模型ID是否与providers中的ID完全一致(注意格式为provider_id/model_id)。
      • 如果已有旧的agent配置,可删除openclaw-data/agents目录后重启容器,让系统重新生成。

      docker compose pull
      docker compose up -d

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

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

      到此这篇关于阿里云CentOS上如何使用Docker部署OpenClaw并接入百炼大模型的文章就介绍到这了,更多相关OpenClaw接入百炼大模型内容请搜索风君子博客以前的文章或继续浏览下面的相关文章,希望大家以后多多支持风君子博客!

      站内搜索