菜鸟AI - 让提示词生成更简单! 全站导航 全站导航
AI工具安装 新手教程 进阶教程 辅助资源 AI提示词 热点资讯 技术资讯 产业资讯 内容生成 模型技术 AI信息库

已有账号?

首页 > AI教程 > OpenClaw Docker部署:本地调用Qwen3.5 9B模型实战
新手教程 docker部署

OpenClaw Docker部署:本地调用Qwen3.5 9B模型实战

2026-06-03
阅读 0
热度 0
作者 菜鸟AI编辑部
摘要

摘要

在Ubuntu上通过Docker部署Ollama并连接OpenClaw调用本地Qwen3 5 9B模型 以下是在Ubuntu 24 04 2 LTS环境

在Ubuntu上通过Docker部署Ollama并连接OpenClaw调用本地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 http://127.0.0.1:11434

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

常见误区:使用Docker版Ollama时,ollama pull/list等命令需在容器内执行(除非宿主机也额外安装了Ollama命令行工具)。

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:填http://127.0.0.1:11434/v1
    • 若未使用--net=host:不要填127.0.0.1,改填宿主机IP,例如http://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 found 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(存在安全风险,仅建议在受信任的本机环境使用)。

浏览器打开:http://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. 在宿主机直接跑ollama pull/list,但实际用的是Docker版Ollama
    • 除非宿主机也安装了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 / 千问:阿里巴巴开源的大模型系列。
  • 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:网页界面(浏览器中操作的界面)。

来源:互联网

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

同类文章推荐

相关文章推荐

更多