游乐游手机版
首页/AI教程/文章详情

从零开始手把手教你OpenClaw Docker部署并调用本地Qwen3.5 9B模型详细步骤

时间:2026-06-03 11:47
在Ubuntu24 04 2LTS上用Docker部署Ollama运行qwen3 5:9b-q8_0模型,接入OpenClawWebUI。环境需NVIDIA显卡(≥16GB显存)、驱动≥535、Docker及NVIDIAContainerToolkit。推荐Docker版Ollama,用dockerexec拉取模型;OpenClaw配置需用--use参数。

一文教你 OpenClaw Docker 部署 并调用本地Qwen3.5 9B模型

本文将详细介绍在 Ubuntu 24.04.2 LTS 系统上,使用 Docker 部署 Ollama(下载并运行 qwen3.5:9b-q8_0 模型),然后将其接入 OpenClaw 的完整流程。如果你想在本地运行千问 Qwen 模型,并通过 OpenClaw 的 Web UI 进行对话测试,只需按照下面的步骤操作即可。

0. 环境要求(建议提前核对)

  • 操作系统:Ubuntu 24.04.2 LTS
  • 显卡:NVIDIA,16GB 显存 更为稳妥(本文以此配置为例)
  • 驱动:版本 ≥ 535(通常意味着 CUDA 12+ 生态更匹配)
  • 内存:至少 16GB
  • 磁盘:预留 ≥ 20GB(模型与缓存会占用空间)

1. 环境检测

1.1 NVIDIA 显卡驱动是否正常

nvidia-smi
watch -n 1 nvidia-smi

如果 nvidia-smi 命令无输出,或提示找不到该命令,通常意味着显卡驱动未正确安装;若驱动版本较低,建议先升级再继续后续操作。

1.2 Docker 是否已安装

docker -v

若没有显示版本信息,请先安装 Docker:

# 快速安装 Docker(如未安装)
curl -fsSL https://get.docker.com | sh
# 启动 Docker 并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 验证 Docker
docker --version

2. Ollama:本地部署 Qwen3.5 9B(Q8_0 量化)

2.1 Docker 版 vs 系统服务版(systemctl)有什么区别?

Ollama 有两种常见安装方式:Docker 版系统服务版。那么,它们有何不同?

维度Docker 版 Ollama系统服务版 Ollama(systemctl)
运行环境运行在容器内,依赖 Docker直接运行在系统中,无容器隔离
GPU 使用需要 --gpus all 显式启用 GPU直接使用主机 GPU(前提是驱动正常)
数据位置容器内 /root/.ollama(通常用 Docker 卷持久化)主机 ~/.ollama(普通用户)或 /root/.ollama(root)
端口通常映射主机 11434默认直接占用主机 11434
冲突风险端口映射相同会冲突直接占用端口,容易与 Docker 版冲突

这里 推荐使用 Docker 版:更易于迁移和维护——尤其后续还要运行 OpenClaw 时。

2.2 如果你装过系统服务版:先停掉,避免端口冲突

sudo systemctl stop ollama
sudo systemctl disable ollama

如果从未安装过系统服务版,这两条命令可能会提示 “Unit ollama.service not found”,忽略即可。

2.3 启动 Docker 版 Ollama(带 GPU + 数据持久化)

使用 Docker 卷 保存模型与缓存,好处是:删除容器不会丢失模型

docker run -d 
  --name ollama 
  --restart=always 
  --gpus all 
  -p 11434:11434 
  -v ollama:/root/.ollama 
  ollama/ollama:latest

注意事项:

  • --gpus all 用于启用 GPU。
  • -v ollama:/root/.ollama 用于持久化模型数据。

如果遇到报错 could not select device driver "" with capabilities: [[gpu]],说明 Docker 尚未配置好 NVIDIA GPU 运行时(通常需要安装 NVIDIA Container Toolkit)。建议先按照 NVIDIA 官方文档配置好 nvidia-container-toolkit 再继续。

2.4 验证 Ollama 是否启动成功

# 1) 容器是否在运行(看到 Up 即正常)
docker ps --filter "name=ollama"
# 2) 端口是否可访问(返回 "Ollama is running" 即成功)
curl https://127.0.0.1:11434

2.5 下载模型:qwen3.5:9b-q8_0

容易踩的坑:使用 Docker 版 Ollama 时,ollama pull/list 等命令必须在容器内执行(除非你单独在宿主机也安装了 Ollama CLI)。

docker exec -it ollama ollama pull qwen3.5:9b-q8_0

拉取完成后,列出模型确认:

docker exec -it ollama ollama list

然后运行一个简单对话,确认模型可正常工作:

docker exec -it ollama ollama run qwen3.5:9b-q8_0

若能正常输出,同时 nvidia-smi 中 GPU 有占用,说明 Ollama + GPU 配置成功。

2.6 如果拉取模型时报错:升级 Ollama(Docker 镜像)

建议按以下顺序升级(数据卷会保留,不会丢失模型):

# 1) 拉取最新版镜像
docker pull ollama/ollama:latest
# 2) 停止并删除旧容器(仅删除容器实例,卷数据会保留)
docker stop ollama
docker rm ollama
# 3) 用新镜像重新启动容器
docker run -d 
  --name ollama 
  --restart=always 
  --gpus all 
  -p 11434:11434 
  -v ollama:/root/.ollama 
  ollama/ollama:latest

3. OpenClaw:安装与对接 Ollama

3.1 准备 OpenClaw 的工作目录与数据卷

下面以 ~/openclaw-docker 为例(你也可以换成其他目录):

mkdir -p ~/openclaw-docker
cd ~/openclaw-docker
# 创建数据卷:持久化 OpenClaw 的配置与数据
docker volume create openclaw-data

如果想清空 OpenClaw 的所有配置(会丢失 gateway token、模型配置等),再执行:

docker volume rm openclaw-data

3.2 重点:root 与非 root(node)用户不要混用

默认情况下,Docker 部署 OpenClaw 时,root 与非 root(node)用户使用的配置目录不同:

  • root 用户(UID 0)
    • 主配置 / 工作目录:/root/.openclaw
    • 沙箱工作区:/root/.openclaw/sandboxes
  • 非 root 用户(node,UID 1000,镜像默认)
    • 主配置 / 工作目录:/home/node/.openclaw
    • 沙箱工作区:/home/node/.openclaw/sandboxes

关键区别一句话:configure 时使用哪个用户,后续运行容器也必须用同一用户,否则容易出现权限或配置找不到的问题。

本文后续统一使用 --user root,因此挂载路径均以 /root/.openclaw 为准。

3.3 运行配置向导(openclaw configure)

docker run -it --rm 
  --user root 
  --net=host 
  -v openclaw-data:/root/.openclaw 
  ghcr.io/openclaw/openclaw:latest 
  openclaw configure

3.3.1 配置 Workspace(工作目录)

3.3.2 配置 Model(对接 Ollama)

建议按如下填写(根据实际情况替换):

  • API Base URL:
    • 如果像本文一样在 openclaw configure 时加了 --net=host:填写 https://127.0.0.1:11434/v1
    • 如果未使用 --net=host:不要填 127.0.0.1,应填宿主机 IP,例如 https://192.168.1.18:11434/v1
  • API Key:可随意填写或直接回车(本地 Ollama 通常不做鉴权),例如 sk-123456
  • 模型名称:填写 ollama list 中显示的模型名,例如 qwen3.5:9b-q8_0(注意拼写)

注意:Endpoint ID 建议填写 ollama。如果填写其他名称,可能会在 Web UI 发送消息时出现类似错误:

Agent failed before reply: No API key foun d for provider "custom-...".
...

3.3.3 配置 Gateway(用于 Web UI 连接)

Gateway bind modeGateway authTailscale exposureGateway token source 这些选项可以先按向导的推荐/默认值进行(本机使用一般不需要复杂的暴露方式)。

这里最重要的一点是:记下 Gateway token(它相当于你的 Web UI 连接口令)。

完成后选择 continue 结束配置:

3.4 启动 OpenClaw 并访问 Web UI

在刚才的工作目录中执行(这样 $(pwd) 就是你的 workspace):

docker run -d 
  --name openclaw 
  --net=host 
  --user root 
  -v openclaw-data:/root/.openclaw 
  -v "$(pwd)":/root/.openclaw/workspace 
  -v /var/run/docker.sock:/var/run/docker.sock 
  --restart unless-stopped 
  ghcr.io/openclaw/openclaw:latest

说明:

  • -v "$(pwd)":/root/.openclaw/workspace:将宿主机当前目录挂载到容器中作为 workspace,方便在主机上直接管理文件。
  • -v /var/run/docker.sock:/var/run/docker.sock:允许 OpenClaw 调用宿主机 Docker(存在安全风险,仅建议在信任的本机环境使用)。

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

如果出现需要令牌的页面,把配置阶段记录的 Gateway token 填入即可:

3.4.1 如果一直提示验证不通过

常见原因之一:configure 时使用的用户,与 docker run 运行时使用的用户不一致(例如一个用 root,另一个用 node),导致读取的配置目录不同。

也可以先用以下命令打印出 OpenClaw 的 dashboard 地址(不会自动打开浏览器):

docker exec -it openclaw openclaw dashboard --no-open

4. 简单验证:对话 + 观察 GPU

4.1 聊天询问模型信息

4.2 查看 GPU 使用情况

可以运行 watch -n 1 nvidia-smi,然后在 Web UI 发送几条消息,观察显存和利用率是否上升。

5. 重点坑位(建议作为自检清单)

  1. 搞不清自己使用的是 Docker 版还是系统服务版 Ollama
    • 两者同时存在时,容易抢占 11434 端口,导致“连不上/连错服务”。
  2. Docker 版 Ollama 却在宿主机直接执行 ollama pull/list
    • 除非宿主机也安装了 Ollama CLI,否则请使用 docker exec -it ollama ollama ...
  3. OpenClaw 的 root 与 node 用户混用
    • 典型表现:权限报错(EACCES)、找不到 token、Web UI 校验失败。
  4. Model 配置中 Endpoint ID 未填写 ollama
    • 可能导致 Web UI 报“No API key found for provider …”。

6. 名词解释(统一放在文章末尾)

  • Ollama:用于在本地运行大模型的工具,提供命令行与 HTTP 接口。
  • Qwen / 千问:阿里巴巴开源的 Qwen(千问)系列大模型。
  • 9B:模型参数规模(约 90 亿参数),通常比 7B 更强,但也更消耗显存/内存。
  • 8bit / Q8_0:一种量化方式,将模型权重以更低精度保存,降低显存占用(但可能略微影响效果)。
  • CUDA:NVIDIA 的 GPU 计算平台与生态(包括驱动、运行库、工具链等)。
  • NVIDIA Container Toolkit:使 Docker 容器能够使用 NVIDIA GPU 的组件(未正确安装会导致 --gpus all 失败)。
  • Gateway token:OpenClaw Web UI 用于连接网关的令牌,作用类似于“访问口令”。
  • Endpoint ID:在 OpenClaw 中为某个模型接口设定的“内部标识名”,后续配置会引用它。
  • Web UI:网页界面(通过浏览器操作的界面)。
来源:https://www.jb51.net/ai/1019237.html
上一篇全平台:Windows、macOS、Linux系统及npm/pnpm包管理器下详细卸载OpenClaw完整指南 下一篇openclaw访问本地无权限问题的详细图文解决方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
内网RPA离线部署从依赖打包到7×24无人值守踩坑与避坑方案
AI教程 · 2026-07-02

内网RPA离线部署从依赖打包到7×24无人值守踩坑与避坑方案

这三年,内网RPA项目接了不下二十个。每次开局都像闯关——断网、缺依赖、多机同步、定时执行、批量分发、源码保护、AI离线化,八个坑一个比一个深。今天把这些实战经验整理出来,希望能帮正在内网搞自动化的兄弟们少踩点雷。 一、内网无网络环境怎么部署RPA流程:先搞清楚什么叫“真离线” 很多工具宣传“支持本

水利工程师用WorkBuddy写洪水报告效率提升3倍
AI教程 · 2026-07-02

水利工程师用WorkBuddy写洪水报告效率提升3倍

WorkBuddy开发者分享季 水利工程师AI提效实战:用WorkBuddy撰写洪水影响评价报告,效率提升3倍 WorkBuddy 效率 人工智能 开发工具 一、我是谁,为什么需要AI 先介绍一下自己——我是一名水利工程师,在湖南长沙的一家小型水利设计公司任职。当前行业环境不太

日志服务数据加工规则洞察仪表盘使用指南
AI教程 · 2026-07-02

日志服务数据加工规则洞察仪表盘使用指南

数据加工诊断仪表盘 想实时掌握日志服务加工功能的运行状态?直接从加工列表页点击那个“规则洞察”按钮,仪表盘就会立刻呈现出来。入口就在那儿,不绕弯子。 跳转后,你可以按作业名称、实例ID或源LogStore来筛选任务状态。比如下边这张图,展示的是当前实例ID(90c9d47714dbb807d47c1

基于RFID的固定资产管理系统技术架构与工程实践
AI教程 · 2026-07-02

基于RFID的固定资产管理系统技术架构与工程实践

固定资产管理难题是众多企事业单位的普遍困扰,资产数量动辄数千件,且广泛分布于不同部门、楼层乃至园区。传统人工盘点方式在工程维度上始终面临三大关键瓶颈:采集效率低下、数据闭环中断、状态同步滞后。使用条码枪逐一扫描标签,识别距离通常不超过30厘米,操作人员需逐个寻找并扫描,盘点效率完全受限于人力。面对5

WorkBuddy实战用AI搭建A股智能盯盘助手省心高效
AI教程 · 2026-07-02

WorkBuddy实战用AI搭建A股智能盯盘助手省心高效

炒股的朋友们想必都深有体会——每天重复盯盘、查行情、分析板块轮动,这一整套流程下来耗费大量精力。手动翻查数据不仅身心俱疲,还很容易错过关键买卖节点。今天我们就来聊聊如何打造一款趁手的盯盘工具,借助AI替你分担这些重复性工作。 背景:盯盘的核心痛点 股民都有同感——每天不只要查询单只股票的实时行情,还