WSL + Docker + OpenClaw + 物理机 Ollama 部署教程

部署教程由 AI 生成,供参考。请根据实际情况进行调整。

概述

本文档详细介绍在 Windows 物理机上部署 OpenClaw 并连接本地 Ollama 服务的完整方案。

架构说明

核心思路:

  • WSL 提供 Linux 环境,运行 Docker 和 OpenClaw
  • Ollama 直接在 Windows 物理机运行,性能最优
  • 通过端口映射实现跨系统通信

一、环境准备

1.1 系统要求

组件最低要求推荐配置
WindowsWindows 10 2004+Windows 11
内存8 GB16 GB+
磁盘50 GB 可用SSD 100 GB+
CPU4 核8 核+ (支持虚拟化)

1.2 检查虚拟化支持

管理员身份打开 PowerShell:

systeminfo | findstr /i "虚拟化"
# 或英文系统
systeminfo | findstr /i "virtualization"

确认显示「已启用 Hyper-V」或类似信息。


二、WSL 安装与配置

2.1 启用 WSL

以管理员身份运行 PowerShell:

wsl --install

首次运行会要求重启电脑。

2.2 设置 WSL2 作为默认版本

wsl --set-default-version 2

2.3 安装 Ubuntu

wsl --install -d Ubuntu-22.04

2.4 配置性能优化

在 Windows 用户目录下创建 .wslconfig 文件:

[wsl2]
memory=8GB
processors=4
swap=2GB
localhostForwarding=true
autoProxy=true
 
[experimental]
autoMemoryReclaim=gradual
hostAddressLoopback=true

重启 WSL 使配置生效:

wsl --shutdown

2.5 Ubuntu 基础配置

进入 WSL:

wsl -d Ubuntu-22.04

在 WSL 内执行:

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git jq ca-certificates gnupg

三、Docker 安装与配置

3.1 安装 Docker Engine

在 WSL 内执行:

# 添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
 
# 添加 Docker 软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
 
# 安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
 
# 启动 Docker 服务
sudo service docker start

3.2 配置 Docker 用户组

sudo usermod -aG docker $USER
newgrp docker
 
# 验证安装
docker --version
docker compose version

3.3 Docker 镜像加速

创建 /etc/docker/daemon.json

sudo mkdir -p /etc/docker
{
  "registry-mirrors": [
    "https://docker.1ms.run"
  ],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}
sudo service docker restart

四、OpenClaw 安装

方案 A:Docker 部署(推荐)

4.1-A 获取源码并运行安装脚本

git clone https://github.com/openclaw/openclaw.git
cd openclaw
 
chmod +x docker-setup.sh
./docker-setup.sh

修改网关配置

openclaw config set gateway.bind lan

4.2-A 访问 Web UI

docker compose run --rm openclaw-cli dashboard --no-open -p 18789:18789
 
docker run -d --name openclaw-cli -p 18789:1878

浏览器打开 http://127.0.0.1:18789/

方案 B:直接安装(WSL 内)

4.1-B 使用安装脚本

curl -fsSL https://openclaw.ai/install.sh | bash
 
openclaw onboard --install-daemon

4.2-B 验证安装

openclaw status
openclaw doctor
openclaw dashboard

五、物理机 Ollama 安装

5.1 下载安装 Ollama

访问 https://ollama.com 下载 Windows 版本,或使用 PowerShell:

winget install Ollama.Ollama

5.2 配置环境变量

在 Windows 系统环境变量中添加:

  • OLLAMA_HOST: 0.0.0.0:11434 (允许外部访问)
  • OLLAMA_MODELS: D:\ollama\models (模型存储路径,可选)

5.3 下载模型

在 Windows PowerShell 运行:

ollama pull qwen2.5:7b
ollama pull llama3.2:latest
ollama pull deepseek-r1:7b
 
# 查看已安装模型
ollama list

六、OpenClaw 连接 Ollama

6.1 配置 WSL 访问物理机

WSL2 使用镜像网络模式时,可直接通过 localhost 访问物理机服务。

在 WSL 中测试连接:

curl http://localhost:11434/api/tags

6.2 在 OpenClaw 中配置

编辑 ~/.openclaw/config.json5

{
  providers: {
    ollama: {
      baseUrl: "http://localhost:11434",
    },
  },
}

6.3 添加模型配置

{
  models: {
    "ollama:qwen2.5:7b": {
      provider: "ollama",
      model: "qwen2.5:7b",
    },
    "ollama:deepseek-r1:7b": {
      provider: "ollama",
      model: "deepseek-r1:7b",
    },
  },
}

6.4 Docker 特殊配置

在 Docker 中运行时,需要使用特殊地址:

{
  providers: {
    ollama: {
      baseUrl: "http://host.docker.internal:11434",
    },
  },
}

或在 docker-compose.yml 中添加:

services:
  openclaw-gateway:
    extra_hosts:
      - "host.docker.internal:host-gateway"

七、验证部署

7.1 检查服务状态

# OpenClaw 状态
openclaw status
 
# Docker 容器状态
docker ps
# Ollama 服务(Windows 端)
ollama list

7.2 测试完整链路

在 OpenClaw Web UI 中选择 ollama:qwen2.5:7b 模型,发送测试消息,确认响应正常。


八、常见问题

Q1: WSL 无法访问物理机 Ollama

在 Windows 防火墙中放行端口 11434:

netsh advfirewall firewall add rule name="Ollama" dir=in action=allow protocol=tcp localport=11434

Q2: Docker 容器无法访问 host.docker.internal

docker-compose.yml 中添加 extra_hosts

services:
  openclaw-gateway:
    extra_hosts:
      - "host.docker.internal:host-gateway"

Q3: OpenClaw 找不到 Ollama 模型

确认 Windows 端已拉取模型:

ollama pull qwen2.5:7b
ollama list

检查 OpenClaw 配置:

openclaw doctor

Q4: 内存不足

调整 .wslconfig 中的 memory 设置,然后 wsl --shutdown 重启。


九、进阶配置

9.1 多模型配置

{
  models: {
    "local:qwen": {
      provider: "ollama",
      model: "qwen2.5:7b",
      contextWindow: 32768,
    },
    "local:deepseek": {
      provider: "ollama",
      model: "deepseek-r1:7b",
      contextWindow: 65536,
    },
    "cloud:claude": {
      provider: "anthropic",
      model: "claude-sonnet-4-20250514",
    },
  },
}

9.2 设置默认模型

{
  agents: {
    defaults: {
      model: "local:qwen",
    },
  },
}

9.3 GPU 加速

确保物理机安装了正确的 GPU 驱动。Ollama 会自动检测并使用 GPU。

ollama run qwen2.5:7b "/info"

十、维护命令速查

操作命令
启动 OpenClawopenclaw gateway start
停止 OpenClawopenclaw gateway stop
重启 OpenClawopenclaw gateway restart
查看日志openclaw gateway logs
更新 OpenClawnpm update -g openclaw
拉取新模型ollama pull <model>
删除模型ollama rm <model>
进入 WSLwsl -d Ubuntu-22.04
重启 WSLwsl --shutdown

参考链接


文档说明

  • 创建日期:2026-03-31
  • 基于 OpenClaw 2026.3.x 版本
  • 请结合实际情况和官方最新文档使用