Odysseus AI + Ollama 本地跑不通?Docker 里 localhost 写错是第一嫌疑
Odysseus AI + Ollama 本地跑不通?Docker 里 localhost 写错是第一嫌疑

我见过不少 Odysseus AI 本地安装失败,最后都不是模型问题。
表面现象通常很像:
- Ollama 已经启动
- 模型也已经拉取
- 宿主机执行
curl http://localhost:11434/v1/models能返回 - Docker 容器里的 Odysseus AI 仍然连不上模型
这个时候很多人会去换模型、重启 Ollama、重装 Docker,甚至重新 clone 项目。
但真正的问题经常只有一句话:你在容器里写了宿主机的 localhost。
先看清楚:是谁在访问 Ollama
本地 AI 应用里,localhost 不是一个绝对地址。
它的含义取决于“谁在调用”。
| 调用位置 | localhost 指向哪里 |
|---|---|
| 你的宿主机终端 | 当前电脑 |
| Docker 容器内部 | 容器自己 |
| 浏览器 | 当前电脑 |
| Compose 网络内服务 | 对应容器网络 |
所以你在宿主机上执行:
curl http://localhost:11434/v1/models
能通,只能说明宿主机能访问 Ollama。
它不能证明 Docker 容器里的 Odysseus AI 也能访问。
Docker Desktop 常见写法:host.docker.internal
如果你的结构是:
- Odysseus AI 跑在 Docker 容器里
- Ollama 跑在宿主机
- 你希望容器访问宿主机的 Ollama
那在 Docker Desktop 环境里,通常应该把 OpenAI-compatible base URL 写成:
http://host.docker.internal:11434/v1
而不是:
http://localhost:11434/v1
因为后者在容器内指向的是容器自己。
你可以用一个临时容器验证:
docker run --rm alpine sh -c \
"apk add --no-cache curl >/dev/null 2>&1 && curl http://host.docker.internal:11434/v1/models"
如果这个命令失败,就先不要怀疑 Odysseus AI。
先解决容器到宿主机的网络访问。
/v1 也不能漏
Ollama 原生 API 和 OpenAI-compatible API 不是同一个路径。
很多应用需要的是 OpenAI-compatible endpoint,因此常见 base URL 是:
http://host.docker.internal:11434/v1
而不是:
http://host.docker.internal:11434
如果你只填到端口,应用可能会请求错误路径。
对 Odysseus AI 这类本地 AI 工作区来说,排查时可以把问题拆成两步:
- 容器能不能访问
host.docker.internal:11434 - 应用需要的
/v1/models或兼容接口能不能返回
想按路径排查,可以参考这份独立整理的 Odysseus AI Ollama 安装说明。
不要一开始就换模型
模型选错当然会出问题,但它不是第一嫌疑。
更合理的排查顺序是:
Docker 服务是否正常
↓
Ollama 是否在宿主机运行
↓
容器能否访问宿主机 Ollama
↓
base URL 是否包含 /v1
↓
模型名称是否正确
↓
再考虑模型大小、内存、量化版本
如果前面几层没过,换再多模型都只是绕圈。
localhost:7000 打不开时也一样
另一个常见问题是浏览器打不开 Odysseus AI 的界面。
不要直接重装。
先看 Compose 状态:
docker compose ps
再看日志:
docker compose logs -f
再看端口:
lsof -i :7000
Linux 可以用:
ss -ltnp | grep 7000
浏览器打不开 localhost:7000,可能是服务没启动,也可能是端口没映射,还可能是服务正在重启。
这和管理员密码、模型配置不是同一层问题。
一个最小排查清单
如果你正在本地跑 Odysseus AI,可以按这个顺序检查:
1. docker compose config
2. docker compose ps
3. docker compose logs -f
4. curl http://localhost:11434/v1/models
5. docker run --rm alpine ... curl http://host.docker.internal:11434/v1/models
6. 再回到 Odysseus AI 里改 base URL
如果你想先看完整路线,可以从 Odysseus AI Docker 安装排障指南 开始。
我自己的经验是:本地 AI 工具不是“命令复制题”,更像一个小型系统排障题。
只要 Docker、Ollama、浏览器端口、模型接口这几层拆开看,很多看起来很玄的问题都会变得很普通。
普通就好。
普通的问题,才容易修。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)