好,这个我给你一份从 0 到能用、照着敲就能跑的完整实战版。
目标是:用 Docker 同时部署 Ollama(大模型推理) + MaxKB(知识库问答),并让它们正确连起来。
场景假设:
- 本地 / 服务器:Linux / macOS / Windows(Docker Desktop)
- 使用 Docker / Docker Compose
- Ollama 作为 LLM 推理引擎
- MaxKB 作为 知识库 + RAG 应用层
一、整体架构先搞清楚(很重要)
浏览器
↓
MaxKB(Web UI / API)
↓
Ollama(模型推理)
↓
大模型(llama3 / qwen / mistral 等)
📌 关键点
- MaxKB 不跑模型
- Ollama 只负责模型推理
- 两者通过 HTTP API 通信
二、准备环境
1️⃣ 安装 Docker & Docker Compose
检查
docker -v
docker compose version
没装:
- Linux:apt / yum
- macOS / Windows:Docker Desktop
2️⃣ 创建工作目录
mkdir maxkb-ollama
cd maxkb-ollama
三、使用 Docker 部署 Ollama
1️⃣ 单独启动 Ollama(先跑通)
docker run -d \
--name ollama \
-p 11434:11434 \
-v ollama:/root/.ollama \
ollama/ollama
验证
curl http://localhost:11434/api/tags
能返回 JSON,说明 Ollama OK ✅
2️⃣ 拉取一个模型(例:llama3)
docker exec -it ollama ollama pull llama3
或:
docker exec -it ollama ollama pull qwen2.5
3️⃣ 测试模型
docker exec -it ollama ollama run llama3
能对话,说明模型 OK。
四、使用 Docker 部署 MaxKB
1️⃣ 创建 docker-compose.yml
version: "3.9"
services:
maxkb:
image: registry.cn-hangzhou.aliyuncs.com/1panel/maxkb:latest
container_name: maxkb
ports:
- "8080:8080"
volumes:
- ./data:/opt/maxkb/data
restart: unless-stopped
启动:
docker compose up -d
2️⃣ 访问 MaxKB
浏览器打开:
http://localhost:8080
首次登录:
- 用户名:
admin - 密码:
maxkb
(建议立刻修改)
五、让 MaxKB 连接 Ollama(关键步骤)
方式一:Docker 网络直连(推荐)
1️⃣ 创建自定义网络
docker network create ai-net
2️⃣ 把 Ollama 加进去
docker network connect ai-net ollama
docker network connect ai-net maxkb
3️⃣ 在 MaxKB 中配置模型
MaxKB 后台 → 模型管理 / 模型配置
填写:
| 项目 | 值 |
|---|---|
| 模型类型 | Ollama |
| 模型名称 | llama3 |
| API Base URL | http://ollama:11434 |
| API Key | 不填 |
| 上下文长度 | 4096(或模型支持的) |
📌 重点
- 不能用
localhost - 必须用容器名
ollama
方式二:宿主机方式(不推荐)
http://host.docker.internal:11434
⚠️ Linux 默认不支持,坑多
六、完整 Docker Compose(强烈推荐)
一步到位版本👇
version: "3.9"
services:
ollama:
image: ollama/ollama
container_name: ollama
ports:
- "11434:11434"
volumes:
- ollama:/root/.ollama
restart: unless-stopped
maxkb:
image: registry.cn-hangzhou.aliyuncs.com/1panel/maxkb:latest
container_name: maxkb
ports:
- "8080:8080"
volumes:
- ./data:/opt/maxkb/data
depends_on:
- ollama
restart: unless-stopped
volumes:
ollama:
启动:
docker compose up -d
模型地址直接填:
http://ollama:11434
七、MaxKB 创建知识库 + 测试
1️⃣ 新建知识库
- 文档(PDF / MD / TXT)
- 网页
- 手动输入
2️⃣ 创建应用
- 选择知识库
- 选择模型(Ollama)
- 设置提示词
3️⃣ 测试问答
- 能命中知识库
- 能调用模型
- 响应正常 ✅
八、GPU 支持(可选,性能提升巨大)
NVIDIA GPU
Ollama GPU 版
ollama:
image: ollama/ollama
deploy:
resources:
reservations:
devices:
- capabilities: [gpu]
宿主机需:
- NVIDIA Driver
- nvidia-container-toolkit
九、常见坑(必看)
❌ MaxKB 连接不上 Ollama
- 用了
localhost - 没在同一 Docker 网络
- Ollama 没启动
❌ 模型不存在
docker exec -it ollama ollama list
❌ 中文效果差
👉 换模型:
qwen2.5glm4deepseek-r1(如果支持)
十、推荐模型组合(实测好用)
| 场景 | 模型 |
|---|---|
| 中文问答 | qwen2.5 |
| 通用 | llama3 |
| 推理 | deepseek-r1 |
| 低显存 | mistral |
你现在可以做到什么?
- 本地私有 GPT ✅
- 企业知识库问答 ✅
- 内网可用 / 不联网 ✅
- 数据完全可控 ✅
如果你愿意,我可以继续帮你:
- 🔥 MaxKB 提示词最佳模板
- 🔥 Ollama 多模型切换策略
- 🔥 MaxKB + 向量数据库(Milvus / FAISS)
- 🔥 公网部署 + HTTPS + 鉴权
你现在是 本地玩,还是 准备上服务器给团队用?