一文教你OpenClaw Docker 部署并調(diào)用本地Qwen3.5 9B模型
一文教你 OpenClaw Docker 部署 并調(diào)用本地Qwen3.5 9B模型
本文記錄我在 Ubuntu 24.04.2 LTS 上,用 Docker 部署 Ollama(下載并運(yùn)行 qwen3.5:9b-q8_0 模型),再把它接入 OpenClaw 的完整過程。
如果你也想在本地跑千問(Qwen)并用 OpenClaw 的 Web UI 進(jìn)行對話/測試,可以按本文一步步做完。
0. 環(huán)境要求(建議先對照)
- 操作系統(tǒng):Ubuntu 24.04.2 LTS
- 顯卡:NVIDIA,16GB 顯存更穩(wěn)(本文以此為參考)
- 驅(qū)動:版本 ≥ 535(通常意味著 CUDA 12+ 生態(tài)更匹配)
- 內(nèi)存:至少 16GB
- 磁盤:預(yù)留 ≥ 20GB(模型與緩存會占空間)
1. 環(huán)境檢測
1.1 NVIDIA 顯卡驅(qū)動是否正常
nvidia-smi watch -n 1 nvidia-smi

如果 nvidia-smi 沒有輸出(或提示找不到命令),一般是驅(qū)動沒裝好;如果輸出里顯示的驅(qū)動版本較低,建議先升級驅(qū)動再繼續(xù)。
1.2 Docker 是否已安裝
docker -v

如果沒有版本信息,先安裝 Docker:
# 快速安裝 Docker(如未安裝) curl -fsSL https://get.docker.com | sh # 啟動 Docker 并設(shè)置開機(jī)自啟 sudo systemctl start docker sudo systemctl enable docker # 驗證 Docker docker --version
2. Ollama:本地部署 Qwen3.5 9B(Q8_0 量化)
2.1 Docker 版 vs 系統(tǒng)服務(wù)版(systemctl)有什么區(qū)別?
Ollama 常見有兩種安裝/啟動方式:Docker 版 和 系統(tǒng)服務(wù)版(systemctl)。核心差異如下:
| 維度 | Docker 版 Ollama | 系統(tǒng)服務(wù)版 Ollama(systemctl) |
|---|---|---|
| 運(yùn)行環(huán)境 | 運(yùn)行在容器里,依賴 Docker | 直接運(yùn)行在系統(tǒng)里,無容器隔離 |
| GPU 使用 | 需要 --gpus all 顯式啟用 GPU | 直接使用主機(jī) GPU(前提是驅(qū)動正常) |
| 數(shù)據(jù)位置 | 容器內(nèi) /root/.ollama(通常用 Docker 卷持久化) | 主機(jī) ~/.ollama(普通用戶)或 /root/.ollama(root) |
| 端口 | 通常映射主機(jī) 11434 | 默認(rèn)直接占用主機(jī) 11434 |
| 沖突風(fēng)險 | 端口映射相同會沖突 | 直接占用端口,容易與 Docker 版沖突 |
我這里 推薦 Docker 版:更好遷移、更好維護(hù)(尤其是你后面還要跑 OpenClaw 時)。
2.2 如果你裝過系統(tǒng)服務(wù)版:先停掉,避免搶端口
sudo systemctl stop ollama sudo systemctl disable ollama
如果你沒有安裝過系統(tǒng)服務(wù)版,這兩條命令可能會提示 “Unit ollama.service not found”,可以忽略。
2.3 啟動 Docker 版 Ollama(帶 GPU + 數(shù)據(jù)持久化)
下面用 Docker 卷來保存模型與緩存,好處是:刪容器不丟模型。
docker run -d \ --name ollama \ --restart=always \ --gpus all \ -p 11434:11434 \ -v ollama:/root/.ollama \ ollama/ollama:latest
注意點(diǎn):
- --gpus all 用來啟用 GPU。
- -v ollama:/root/.ollama 用來持久化模型數(shù)據(jù)。
如果你在這里看到類似報錯:could not select device driver "" with capabilities: [[gpu]],說明 Docker 還沒配置好 NVIDIA GPU 運(yùn)行時(通常需要安裝 NVIDIA Container Toolkit)。這類問題建議先按 NVIDIA 官方文檔把 nvidia-container-toolkit 配好,再繼續(xù)。
2.4 驗證 Ollama 是否啟動成功
# 1) 容器是否在運(yùn)行(看到 Up 即正常) docker ps --filter "name=ollama" # 2) 端口是否可訪問(返回 "Ollama is running" 即成功) curl http://127.0.0.1:11434
2.5 下載模型:qwen3.5:9b-q8_0
這里有一個容易踩坑的點(diǎn):如果你用的是 Docker 版 Ollama,那么 ollama pull/list 這些命令應(yīng)該在容器里執(zhí)行(除非你額外在宿主機(jī)也安裝了 Ollama 命令行)。
docker exec -it ollama ollama pull qwen3.5:9b-q8_0
如果拉取完成,列出模型確認(rèn)一下:
docker exec -it ollama ollama list

然后跑一個簡單對話,確認(rèn)模型能正常工作:
docker exec -it ollama ollama run qwen3.5:9b-q8_0

看到能正常輸出,同時 nvidia-smi 里 GPU 有占用,就說明 Ollama + GPU 沒問題。
2.6 如果拉取模型時報錯:升級 Ollama(Docker 鏡像)

推薦按這個順序升級(數(shù)據(jù)卷會保留,不會丟模型):
# 1) 拉取最新版鏡像 docker pull ollama/ollama:latest # 2) 停止并刪除舊容器(僅刪除容器實例,卷數(shù)據(jù)會保留) 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 準(zhǔn)備 OpenClaw 的工作目錄與數(shù)據(jù)卷
下面以 ~/openclaw-docker 為例(你也可以換成其它目錄):
mkdir -p ~/openclaw-docker cd ~/openclaw-docker # 創(chuàng)建數(shù)據(jù)卷:持久化 OpenClaw 的配置與數(shù)據(jù) docker volume create openclaw-data
如果你確定要清空 OpenClaw 的所有配置(會丟失 gateway token、模型配置等),再執(zhí)行:
docker volume rm openclaw-data
3.2 重點(diǎn):root 與非 root(node)用戶不要混用
默認(rèn)情況下,Docker 部署 OpenClaw 時,root 與非 root(node)用戶使用的配置目錄不一樣:
- root 用戶(UID 0)
- 主配置 / 工作目錄:
/root/.openclaw - 沙箱工作區(qū):
/root/.openclaw/sandboxes
- 主配置 / 工作目錄:
- 非 root 用戶(node,UID 1000,鏡像默認(rèn))
- 主配置 / 工作目錄:
/home/node/.openclaw - 沙箱工作區(qū):
/home/node/.openclaw/sandboxes
- 主配置 / 工作目錄:
關(guān)鍵區(qū)別(用一句話記住就行):你 configure 用誰,后面運(yùn)行容器也要用同一個用戶,否則很容易出現(xiàn)權(quán)限/找不到配置的問題。
本文后續(xù)統(tǒng)一使用 --user root,所以掛載路徑都以 /root/.openclaw 為準(zhǔn)。
3.3 運(yùn)行配置向?qū)В╫penclaw 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,改填宿主機(jī) IP,比如http://192.168.1.18:11434/v1
- 如果你像本文一樣在
- API Key:隨意填寫或直接回車(本地 Ollama 通常不做鑒權(quán)),例如
sk-123456 - 模型名稱:填
ollama list里顯示的模型名,例如qwen3.5:9b-q8_0(不要拼錯)
注意:Endpoint ID 建議填寫 ollama。如果你填了別的名字,可能會在 Web UI 發(fā)送消息時出現(xiàn)類似報錯:
Agent failed before reply: No API key foun d for provider "custom-...". ...
3.3.3 配置 Gateway(用于 Web UI 連接)

Gateway bind mode、Gateway auth、Tailscale exposure、Gateway token source 先按向?qū)У耐扑]/默認(rèn)選項來即可(如果你只是本機(jī)使用,一般不需要太復(fù)雜的暴露方式)。
這里最重要的一件事:記下 Gateway token(它相當(dāng)于你的 Web UI 連接口令)。
完成后選擇 continue 結(jié)束配置:

3.4 啟動 OpenClaw 并訪問 Web UI
在你剛才的工作目錄里執(zhí)行(這樣 $(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:把宿主機(jī)當(dāng)前目錄掛到容器里當(dāng) workspace,方便你在主機(jī)上直接管理文件。-v /var/run/docker.sock:/var/run/docker.sock:允許 OpenClaw 調(diào)用宿主機(jī) Docker(有安全風(fēng)險,僅建議在你信任的本機(jī)環(huán)境使用)。
瀏覽器打開:http://127.0.0.1:18789
如果出現(xiàn)需要令牌的頁面,把你在配置階段記錄的 Gateway token 填進(jìn)去即可:


3.4.1 如果一直提示驗證不通過
常見原因之一:你 configure 時用的用戶,和 docker run 運(yùn)行時用的用戶不一致(比如一個是 root,一個是 node),導(dǎo)致讀取到的配置目錄不同。
你也可以先用下面命令打印出 OpenClaw 的 dashboard 地址(不會自動打開瀏覽器):
docker exec -it openclaw openclaw dashboard --no-open
4. 簡單驗證:對話 + 觀察 GPU
4.1 聊天詢問模型信息

4.2 查看 GPU 使用情況
你可以開著 watch -n 1 nvidia-smi,然后在 Web UI 發(fā)幾條消息,觀察顯存/利用率是否上漲。

5. 重點(diǎn)坑位(建議做成自檢清單)
- 搞不清自己用的是 Docker 版還是系統(tǒng)服務(wù)版 Ollama
- 兩者同時存在時,經(jīng)常搶 11434 端口,導(dǎo)致 “連不上/連錯服務(wù)”。
- Docker 版 Ollama 卻在宿主機(jī)直接跑 ollama pull/list
- 除非你在宿主機(jī)也裝了 Ollama CLI,否則請用 docker exec -it ollama ollama ...。
- OpenClaw 的 root 與 node 用戶混用
- 典型表現(xiàn):權(quán)限報錯(EACCES)、找不到 token、Web UI 校驗失敗。
- Model 配置里 Endpoint ID 沒填 ollama
- 可能導(dǎo)致 Web UI 報 “No API key found for provider …”。
6. 名詞解釋(統(tǒng)一放在文章末尾)
- Ollama:一個在本地運(yùn)行大模型的工具,提供命令行與 HTTP 接口。
- Qwen / 千問:阿里巴巴開源的 Qwen(千問)系列大模型。
- 9B:模型參數(shù)規(guī)模(約 90 億參數(shù)),一般比 7B 更強(qiáng),但也更吃顯存/內(nèi)存。
- 8bit / Q8_0:量化方式的一種,把模型權(quán)重用更低精度保存,降低顯存占用(但可能略影響效果)。
- CUDA:NVIDIA 的 GPU 計算平臺與生態(tài)(驅(qū)動、運(yùn)行庫、工具鏈等)。
- NVIDIA Container Toolkit:讓 Docker 容器能夠使用 NVIDIA GPU 的組件(沒裝好會導(dǎo)致
--gpus all失?。?。 - Gateway token:OpenClaw Web UI 用來連接網(wǎng)關(guān)的令牌,作用類似“訪問口令”。
- Endpoint ID:在 OpenClaw 里給某個模型接口起的“內(nèi)部標(biāo)識名”,后續(xù)配置會引用它。
- Web UI:網(wǎng)頁界面(瀏覽器里操作的界面)。
到此這篇關(guān)于一文教你OpenClaw Docker 部署并調(diào)用本地Qwen3.5 9B模型的文章就介紹到這了,更多相關(guān)OpenClaw Docker 部署本地Qwen3.5內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章

Windows、macOS、Linux三系統(tǒng)本地部署OpenClaw+避坑指南+Docker一鍵部署,30分鐘搞定
本文給大家分享全網(wǎng)最全的OpenClaw安裝部署教程,覆蓋Windows、macOS、Linux三系統(tǒng)本地部署,并最終提供Docker一鍵部署方案,感興趣的朋友一起看看吧2026-03-10
本文詳細(xì)介紹了在MacBook Air M4芯片上使用Docker部署OpenClaw的過程,通過本文的步驟和技巧,讀者可以成功部署并使用OpenClaw作為智能助理,感興趣的朋友跟隨小編一起看看吧2026-03-05
本文主要介紹了在虛擬機(jī)中使用Docker安裝Ubuntu系統(tǒng),并在Ubuntu上安裝和配置OpenClaw,包括安裝和配置,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2026-03-13




