Problem entry · machine-readable · 大模型本地部署

Docker 里跑 Open WebUI 连不上 Ollama(页面显示 Ollama 未连接 / 模型列表为空)

本页嵌入 #trove-entity JSON(本条目全量结构化数据);全库数据见 /agent/trove.json。

元数据

idopen-webui-ollama-connect收录2026-08-30
问题域大模型本地部署主题分组Agent 工具·运行与配置
适用工具open-webuidocker · 外部工具

症状

Docker 部署的 Open WebUI 页面提示 Ollama 未连接、模型列表为空;容器内访问 `localhost:11434` 拒绝连接。

原因

容器内 `localhost` 是容器自己,不是宿主机;`OLLAMA_BASE_URLS` 指向 `localhost:11434` 时连不到宿主机的 Ollama。正确做法是用 `host.docker.internal`(Linux 引擎需 host-gateway 映射)。

解法

1. `docker exec` 容器内实测两个地址,确认 localhost 拒绝、host.docker.internal 可达;

2. 重建容器:`-e OLLAMA_BASE_URLS=http://host.docker.internal:11434`(新版用复数变量名);

3. Linux 引擎加 `--add-host host.docker.internal:host-gateway`(compose 用 `extra_hosts`);

4. 刷新页面确认模型列表出现。

验证证据

- 本机实测(2026-08-30,WSL2 Ubuntu + Docker 29.1.3 + ollama 0.32.14):独立容器(端口 3001 + 独立 volume,未碰工具侧容器)内 `localhost:11434` → `Errno 111 Connection refused`;`host.docker.internal:11434` → `{"version":"0.32.14"}`。`/api/models` 匿名请求 401(懒连接 + 需登录会话),UI 未连接横幅未截获,机制层面已坐实。证据:实测复现日志(2026-08-30)。

- 工具侧联调证据(2026-08-30,实测复现日志(2026-08-30)):`--add-host=host.docker.internal:host-gateway` + `OLLAMA_BASE_URLS=http://host.docker.internal:11434` 容器健康,`docker exec` 访问 `/api/tags` 通过,open-webui 界面发现 ollama 模型。

- 未实测:Docker Desktop(Windows/macOS)的 host.docker.internal 默认行为(机制由官方文档标注)。

来源与证据

素材来源:实测复现日志(2026-08-30)(工具侧实测证据,2026-08-30)

验证证据:Evidence details kept locally (2026-08-30)