元数据
| id | open-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)