📌 前言

OpenClaw 是一个功能强大的 AI Agent 框架,支持本地模型(Ollama)和云端 API(火山引擎、DeepSeek 等)。本文将手把手教你从零开始在 Windows 上使用 Docker 部署 OpenClaw,并配置本地模型和火山引擎豆包 API。

环境要求:

  • Windows 10/11(已安装 Docker Desktop,启用 WSL 2)

  • 至少 8GB 内存(推荐 16GB+)

  • NVIDIA GPU(可选,用于加速本地模型)

一、创建 Docker 网络

powershell

docker network create my-network

二、部署依赖服务

1. PostgreSQL(用于存储会话数据)

powershell

docker run -d --name my-postgres `
  --network my-network `
  -e POSTGRES_PASSWORD=你的密码 `
  -e POSTGRES_USER=postgres `
  -e POSTGRES_DB=mydb `
  -p 5432:5432 `
  -v postgres_data:/var/lib/postgresql/data `
  postgres:latest
2. Redis(用于缓存)

powershell

docker run -d --name my-redis `
  --network my-network `
  -p 6379:6379 `
  -v redis_data:/data `
  redis:latest
3. Ollama(本地大模型服务)

powershell

docker run -d --name ollama `
  --network my-network `
  --gpus all `
  -p 11434:11434 `
  -v ollama_data:/root/.ollama `
  ollama/ollama:latest
4. 拉取本地模型(可选)

powershell

docker exec ollama ollama pull deepseek-r1:1.5b
docker exec ollama ollama pull deepseek-r1:7b

三、配置 OpenClaw

1. 创建配置目录

powershell

New-Item -ItemType Directory -Force -Path "E:\Docker\openclaw-data" | Out-Null
2. 编写配置文件

保存为 E:\Docker\openclaw-data\openclaw.json

json

{
  "gateway": {
    "mode": "local",
    "port": 18789,
    "bind": "lan",
    "auth": {
      "mode": "token",
      "token": "定义的token用于后续webui访问"
    },
    "controlUi": {
      "allowedOrigins": ["http://localhost:18789", "http://127.0.0.1:18789"]
    }
  },
  "models": {
    "providers": {
      "ollama": {
        "baseUrl": "http://ollama:11434",
        "apiKey": "ollama",
        "api": "ollama",
        "models": [
          {
            "id": "deepseek-r1:1.5b",
            "name": "DeepSeek R1 1.5B",
            "contextWindow": 4096,
            "maxTokens": 4096,
            "reasoning": false
          },
          {
            "id": "deepseek-r1:7b",
            "name": "DeepSeek R1 7B",
            "contextWindow": 131072,
            "maxTokens": 8192,
            "reasoning": false
          }
        ]
      },
      "volcano": {
        "baseUrl": "https://ark.cn-beijing.volces.com/api/v3",
        "apiKey": "你的火山引擎API Key",
        "api": "openai-completions",
        "models": [
          {
            "id": "ep-你的接入点ID",
            "name": "豆包 Mini",
            "contextWindow": 128000,
            "maxTokens": 8192,
            "reasoning": false
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": "ollama/deepseek-r1:1.5b"
    }
  }
}

注意:火山引擎部分需要替换为真实 API Key 和接入点 ID,不需要可删除。

四、启动 OpenClaw

powershell

docker run -d --name openclaw `
  --network my-network `
  -v E:\Docker\openclaw-data:/home/node/.openclaw `
  -v /var/run/docker.sock:/var/run/docker.sock `
  -p 18789:18789 `
  ghcr.io/openclaw/openclaw:latest

五、验证部署

powershell

# 查看容器状态
docker ps

# 查看 OpenClaw 日志
docker logs openclaw --tail 30

# 健康检查
curl http://localhost:18789/health

六、访问 Web UI

浏览器打开:http://127.0.0.1:18789/?token=定义的token

七、常用管理命令

powershell

# 启动所有服务
docker start my-postgres my-redis ollama openclaw

# 停止所有服务
docker stop my-postgres my-redis ollama openclaw

# 重启 OpenClaw
docker restart openclaw

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

# 进入 TUI 终端界面
docker exec -it openclaw openclaw tui

# 清理未使用的 Docker 资源
docker system prune -a

八、故障排查

1. 查看容器日志

powershell

docker logs <容器名> --tail 50
2. 进入容器内部调试

powershell

docker exec -it openclaw bash
3. 检查端口占用

powershell

netstat -ano | findstr :18789
4. 测试本地模型

powershell

docker exec ollama ollama run deepseek-r1:1.5b "你好"
5. 测试火山引擎 API

powershell

$headers = @{
    "Content-Type" = "application/json"
    "Authorization" = "Bearer 你的API Key"
}
$body = '{"model":"你的模型ID","messages":[{"role":"user","content":"你好"}]}'
Invoke-RestMethod -Uri "https://ark.cn-beijing.volces.com/api/v3/chat/completions" -Method Post -Headers $headers -Body $body

九、完整清理(重装用)

powershell

# 停止并删除所有容器
docker stop my-postgres my-redis ollama openclaw
docker rm my-postgres my-redis ollama openclaw

# 删除数据卷
docker volume rm postgres_data redis_data ollama_data

# 删除配置目录
Remove-Item -Path "E:\Docker\openclaw-data" -Recurse -Force

# 删除网络
docker network rm my-network

十、目录结构

text

E:\Docker\
├── openclaw-data\
│   ├── openclaw.json      # 配置文件
│   └── workspace\         # Agent 工作区
├── postgres_data\         # PostgreSQL 数据
├── redis_data\            # Redis 数据
└── ollama_data\           # Ollama 模型数据

十一、版本信息

组件 镜像
PostgreSQL postgres:latest
Redis redis:latest
Ollama ollama/ollama:latest
OpenClaw ghcr.io/openclaw/openclaw:latest

📌 结语

至此,你已经成功部署了一套完整的本地 AI Agent 环境。你可以:

  • 在 Web UI 中切换本地模型和云端 API

  • 通过 TUI 进行终端交互

  • 后续可以配置沙箱、工具调用等高级功能

如果遇到问题,欢迎在评论区留言交流!

相关资源:

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐