56juqingba.com – What's Your Question? Core Finance Categories 使用Docker部署ollama和MaxKB全过程

使用Docker部署ollama和MaxKB全过程

好,这个我给你一份从 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 URLhttp://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.5
  • glm4
  • deepseek-r1(如果支持)

十、推荐模型组合(实测好用)

场景模型
中文问答qwen2.5
通用llama3
推理deepseek-r1
低显存mistral

你现在可以做到什么?

  • 本地私有 GPT ✅
  • 企业知识库问答 ✅
  • 内网可用 / 不联网 ✅
  • 数据完全可控 ✅

如果你愿意,我可以继续帮你:

  • 🔥 MaxKB 提示词最佳模板
  • 🔥 Ollama 多模型切换策略
  • 🔥 MaxKB + 向量数据库(Milvus / FAISS)
  • 🔥 公网部署 + HTTPS + 鉴权

你现在是 本地玩,还是 准备上服务器给团队用

Leave a Reply

您的邮箱地址不会被公开。 必填项已用 * 标注

Related Post