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

Odysseus AI 本地工作台界面

我见过不少 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 工作区来说,排查时可以把问题拆成两步:

  1. 容器能不能访问 host.docker.internal:11434
  2. 应用需要的 /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、浏览器端口、模型接口这几层拆开看,很多看起来很玄的问题都会变得很普通。

普通就好。

普通的问题,才容易修。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐