🚀 OpenClaw Docker+Minimax部署完全指南:踩坑记录与解决方案

0 阅读2分钟

🚀 OpenClaw Docker 部署完全指南:踩坑记录与解决方案

一句话总结:花了 8 小时踩了 6 个坑,整理出这份保姆级 Docker 部署指南,助你 30 分钟搞定 OpenClaw + MiniMax 接入。


📋 目录


🎯 效果预览

部署成功后访问 http://localhost:18790,即可看到 OpenClaw Dashboard:

![Dashboard 界面]

image.png

可以看到已连接的 Agent 和完整的控制面板。


✅ 前置检查清单

开始之前,确保:

检查项命令预期结果
Docker 版本docker --versionv20.10+
磁盘空间-至少 8GB 可用
网络连接-可访问 ghcr.io
端口占用netstat -ano | findstr :18790无占用

📦 详细部署步骤

步骤 1:创建工作目录

mkdir -Force "$env:USERPROFILE\OpenClawWorkspace\workspace"
mkdir -Force "$env:USERPROFILE\OpenClawWorkspace\openclaw-config"

步骤 2:创建配置文件

openclaw-config 目录创建 openclaw.json

{
  "commands": {
    "native": "auto",
    "nativeSkills": "auto",
    "restart": true,
    "ownerDisplay": "raw"
  },
  "gateway": {
    "bind": "lan",
    "controlUi": {
      "allowedOrigins": [
        "http://localhost:18789",
        "http://127.0.0.1:18789",
        "http://localhost:18790",
        "http://127.0.0.1:18790"
      ]
    },
    "auth": {
      "mode": "token",
      "token": "docker-token-18790"
    }
  },
  "models": {
    "mode": "merge",
    "providers": {
      "minimax": {
        "baseUrl": "https://api.minimax.chat/v1",
        "apiKey": "YOUR_MINIMAX_API_KEY_HERE",
        "api": "openai-completions",
        "models": [
          {
            "id": "MiniMax-Text-01",
            "name": "MiniMax Text 01",
            "contextWindow": 16384,
            "maxTokens": 8192
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "minimax/MiniMax-Text-01"
      }
    }
  }
}

⚠️ 重要models 字段必须是数组 [] 格式,不是对象 {}

步骤 3:拉取镜像并启动

# 拉取镜像
docker pull ghcr.io/openclaw/openclaw:latest

# 创建网络
docker network create openclaw-net 2>$null

# 启动容器
docker run -d `
  --name openclaw-docker `
  --network openclaw-net `
  -p "18790:18789" `
  -v "$env:USERPROFILE\OpenClawWorkspace\workspace:/workspace:rw" `
  -v "$env:USERPROFILE\OpenClawWorkspace\openclaw-config:/home/node/.openclaw:rw" `
  ghcr.io/openclaw/openclaw:latest

步骤 4:访问 Dashboard

浏览器打开 http://localhost:18790,开始使用!


🔧 问题诊断与解决

❌ 问题 1:Docker 代理导致无法拉取镜像

症状

Error response from daemon: Get "https://ghcr.io/v2/": ... proxyconnect tcp: dial tcp: lookup http.docker.internal: no such host

解决: ![Docker 代理配置界面]

image.png Settings → Resources → Proxies → 关闭 Manual proxy configuration


❌ 问题 2:端口被占用

症状:容器启动失败或无法访问

解决

# 查找占用进程
netstat -ano | findstr ":18789"

# 改用其他端口,如 18790
-p "18790:18789"

❌ 问题 3:无法配对设备(PAIRING_REQUIRED)

症状: ![设备配对提示]

image_06ae33.png 解决

# 查看配对请求
docker logs openclaw-docker | findstr "pairing"

# 批准配对(替换 <requestId> 为实际 ID)
docker exec -it openclaw-docker npx openclaw devices approve <requestId>

❌ 问题 4:跨域错误(CORS)

症状: ![跨域错误]

image_124680.png 解决:在 openclaw.json 中添加 allowedOrigins

"controlUi": {
  "allowedOrigins": [
    "http://localhost:18789",
    "http://127.0.0.1:18789",
    "http://localhost:18790",
    "http://127.0.0.1:18790"
  ]
}

重启容器生效:

docker restart openclaw-docker

❌ 问题 5:MiniMax 模型配置格式错误

症状:容器启动失败,日志显示:

models.providers.minimax.models: Invalid input: expected array, received undefined

解决:确保 models 是数组格式:

"models": [
  {
    "id": "MiniMax-Text-01",
    "name": "MiniMax Text 01",
    "contextWindow": 16384,
    "maxTokens": 8192
  }
]

不是:

"models": {  // ❌ 错误!
  "id": "..."
}

❌ 问题 6:配置文件修改后不生效

解决

# 重启容器
docker restart openclaw-docker

# 或查看实时日志
docker logs -f openclaw-docker

⚡ 一键部署脚本

保存为 deploy.ps1,右键"使用 PowerShell 运行":

param(
    [string]$Port = "18790",
    [string]$ApiKey = ""
)

Write-Host "🚀 OpenClaw Docker 一键部署" -ForegroundColor Cyan

# 创建目录
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\OpenClawWorkspace\openclaw-config" | Out-Null

# 生成配置
$config = @"
{
  "gateway": {
    "bind": "lan",
    "controlUi": { "allowedOrigins": ["http://localhost:$Port"] },
    "auth": { "mode": "token", "token": "docker-token-$Port" }
  },
  "models": {
    "providers": {
      "minimax": {
        "baseUrl": "https://api.minimax.chat/v1",
        "apiKey": "$ApiKey",
        "api": "openai-completions",
        "models": [{"id":"MiniMax-Text-01","name":"MiniMax"}]
      }
    }
  }
}
"@

$config | Out-File "$env:USERPROFILE\OpenClawWorkspace\openclaw-config\openclaw.json"

# 启动容器
docker run -d --name openclaw-docker -p "${Port}:18789" `
  -v "$env:USERPROFILE\OpenClawWorkspace\openclaw-config:/home/node/.openclaw:rw" `
  ghcr.io/openclaw/openclaw:latest

Write-Host "✅ 部署成功!访问 http://localhost:$Port" -ForegroundColor Green

📝 常用命令参考

# 查看日志
docker logs openclaw-docker
docker logs -f openclaw-docker  # 实时跟踪

# 重启容器
docker restart openclaw-docker

# 进入容器终端
docker exec -it openclaw-docker bash

# 停止并删除容器
docker stop openclaw-docker
docker rm openclaw-docker

# 查看配对请求
docker exec openclaw-docker npx openclaw devices list

🏗️ 架构图

graph TB
    A[Windows宿主机] --> B[Docker Desktop]
    B --> C[openclaw-docker容器]
    C --> D[Gateway:18789]
    C --> E[配置目录<br/>openclaw.json]
    C --> F[工作空间<br/>workspace]
    D --> G[MiniMax API]
    D --> H[Dashboard UI<br/>localhost:18790]
    
    style A fill:#f9f,stroke:#333
    style B fill:#bbf,stroke:#333
    style C fill:#bfb,stroke:#333
    style G fill:#ff9,stroke:#333

📌 总结

项目内容
部署难度⭐⭐⭐ 中等
主要坑点代理、端口、配对、跨域、配置格式
推荐配置bind: lan + allowedOrigins + 数组格式 models
后续扩展可接入 OpenAI、Claude、本地模型等

希望这份指南能帮到你!有问题欢迎在评论区交流 👇


参考链接

#OpenClaw #Docker #AIAgent #MiniMax #部署教程 #开源项目