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

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

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


📋 目录


🎯 效果预览

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

!Dashboard 界面

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


✅ 前置检查清单

开始之前,确保:

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

📦 详细部署步骤

步骤 1:创建工作目录

powershell 复制代码
mkdir -Force "$env:USERPROFILE\OpenClawWorkspace\workspace"
mkdir -Force "$env:USERPROFILE\OpenClawWorkspace\openclaw-config"

步骤 2:创建配置文件

在 openclaw-config 目录创建 openclaw.json:

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:拉取镜像并启动

powershell 复制代码
# 拉取镜像
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 代理导致无法拉取镜像

症状:

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

解决: !Docker 代理配置界面

Settings → Resources → Proxies → 关闭 Manual proxy configuration


❌ 问题 2:端口被占用

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

解决:

powershell 复制代码
# 查找占用进程
netstat -ano | findstr ":18789"

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

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

症状: !设备配对提示

解决:

powershell 复制代码
# 查看配对请求
docker logs openclaw-docker | findstr "pairing"

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

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

症状: !跨域错误

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

json 复制代码
"controlUi": {
  "allowedOrigins": [
    "http://localhost:18789",
    "http://127.0.0.1:18789",
    "http://localhost:18790",
    "http://127.0.0.1:18790"
  ]
}

重启容器生效:

powershell 复制代码
docker restart openclaw-docker

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

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

c 复制代码
models.providers.minimax.models: Invalid input: expected array, received undefined

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

json 复制代码
"models": [
  {
    "id": "MiniMax-Text-01",
    "name": "MiniMax Text 01",
    "contextWindow": 16384,
    "maxTokens": 8192
  }
]

不是:

json 复制代码
"models": {  // ❌ 错误!
  "id": "..."
}

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

解决:

powershell 复制代码
# 重启容器
docker restart openclaw-docker

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

⚡ 一键部署脚本

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

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

📝 常用命令参考

powershell 复制代码
# 查看日志
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 #部署教程 #开源项目

相关推荐
分布式存储与RustFS3 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
玉&心3 天前
通过Arthas在线诊断K8S中的内存及JVM等使用情况
docker·k8s·arthas
xing-xing3 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
guo_wen_qiang3 天前
上传本地镜像到harbor中
docker·容器·持续部署
羑悻的小杀马特3 天前
Dockerfile 全景指南:从入门编写dockerfile到生产环境镜像优化实战,一步步带你从啃透制作指令到镜像制作落地!
docker·dockerfile·镜像制作
BianHuanShiZhe3 天前
docker常见命令
docker
正经教主3 天前
【FDE系列】阶段2:Day 43:Docker Compose — 多容器一键编排
人工智能·docker·fde
忆~遂愿3 天前
本地片库怎么在外面打开?Plex + cpolar 搭一套可远程访问的私人影音库
docker·容器
Zhu7583 天前
docker环境,vLLM 部署 Qwen3.8-27B
docker·qwen·vllm
溜达的大象3 天前
多台服务器不想上重型监控?用 Beszel 搭一套轻量主机与 Docker 看板
docker