使用Docker部署ollama和MaxKB全过程

 更新时间:2025年07月09日 08:38:20   作者:炫爱小七  
配置Ollama监听所有IP,修改环境变量;MaxKB容器连接Ollama,设置API地址及模型名;创建知识库并关联模型,测试问答,解决网络、模型名等问题,优化GPU加速和量化模型

步骤1:配置Ollama网络环境

确保Ollama监听外部请求

默认情况下,Ollama仅监听 127.0.0.1:11434。需修改环境变量使其监听所有IP:

# 启动Ollama容器时添加环境变量
docker run -d --name ollama \
  -p 11434:11434 \
  -e OLLAMA_HOST=0.0.0.0 \  # 允许外部访问
  ollama/ollama

验证Ollama服务状态

在宿主机执行以下命令,确认API可访问:

curl http://localhost:11434

若返回 Ollama is running 则正常。

步骤2:配置MaxKB连接Ollama

启动MaxKB容器并加入Ollama网络

使用 --network 参数让两个容器共享网络:

docker run -d --name maxkb \
  --network container:ollama \  # 共享Ollama的网络命名空间
  -p 8080:8080 \
  -v ~/.maxkb:/var/lib/postgresql/data \
  cr2.fit2cloud.com/1panel/maxkb

或通过Docker内部DNS通信

若未共享网络,在MaxKB容器内使用 Ollama容器名称 作为域名:

# 启动MaxKB时指定Ollama容器网络
docker run -d --name maxkb \
  --network my_network \  # 创建自定义网络后加入
  -p 8080:8080 \
  -v ~/.maxkb:/var/lib/postgresql/data \
  cr2.fit2cloud.com/1panel/maxkb

步骤3:在MaxKB中添加Ollama模型

登录MaxKB界面

访问 http://localhost:8080,使用初始账号 admin/maxkb@123… 登录。

添加Ollama模型

  • 模型类型:选择 Ollama
  • API域名:填写 http://ollama:11434(若共享网络)或 http://宿主机IP:11434
  • 模型名称:与 ollama list 中的模型名完全一致(如 llama3:8b
  • API Key:任意非空字符(如 dummy

验证连接

点击 测试连接,若显示成功即可保存。

步骤4:创建知识库并关联模型

创建知识库

上传文档(支持PDF/TXT/Markdown等),选择智能分段并导入。

创建应用

在应用中关联知识库和Ollama模型,调整参数(如温度、重复惩罚等)。

测试问答

在应用界面提问,观察是否基于知识库生成答案。

常见问题解决

API域名无效

  • 确认Ollama容器IP和端口可访问:curl http://ollama:11434
  • 检查防火墙是否开放 11434 端口。

模型无法加载

  • 确保模型名称与 ollama list 完全一致(区分大小写)。
  • 若模型未下载,在Ollama容器内执行 ollama pull 模型名

跨容器网络不通

创建自定义Docker网络并加入:

docker network create my_network
docker network connect my_network ollama
docker network connect my_network maxkb

性能优化建议

GPU加速

启动Ollama时添加 --gpus all 参数(需宿主机安装NVIDIA驱动):

docker run -d --gpus all -p 11434:11434 ollama/ollama

模型量化

使用低精度模型(如 llama3:8b-q4_K_M)减少资源占用:

ollama pull llama3:8b-q4_K_M

通过以上步骤,即可在Docker环境中实现MaxKB与Ollama的集成。若需进一步优化响应速度,可考虑部署更高性能的模型或升级硬件配置。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • CentOS 8安装docker最详细方法

    CentOS 8安装docker最详细方法

    本文给大家介绍CentOS 8安装docker最详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-11-11
  • Docker构建kubectl镜像的实现步骤

    Docker构建kubectl镜像的实现步骤

    这篇文章主要介绍了Docker构建kubectl镜像的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Docker Compose+Nestjs构建Dapr Redis发布订阅分布式应用

    Docker Compose+Nestjs构建Dapr Redis发布订阅分布式应用

    这篇文章主要为大家介绍了Docker Compose+Nestjs构建Dapr Redis发布订阅分布式应用步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • docker挂载NVIDIA显卡运行pytorch的方法

    docker挂载NVIDIA显卡运行pytorch的方法

    这篇文章主要介绍了docker挂载NVIDIA显卡运行pytorch的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Jenkins整合Docker实现CICD自动化部署的详细过程(若依项目)

    Jenkins整合Docker实现CICD自动化部署的详细过程(若依项目)

    本文介绍了如何使用Jenkins和Docker实现CI/CD自动化部署,文章介绍了环境准备,包括Jenkins、Docker、JDK、Node和Maven,然后讨论了如何配置GitLab环境并利用Webhooks实现代码的自动拉取和部署,最后,展示了如何部署前后端分离的项目,并通过实际操作验证了整个流程的有效性
    2024-10-10
  • 本地Docker部署Navidrome音乐服务器与远程访问听歌详细教程(图文详解)

    本地Docker部署Navidrome音乐服务器与远程访问听歌详细教程(图文详解)

    本文和大家分享一款目前在G站有11K+Star的开源跨平台音乐服务器 Navidrome,如何在 Linux 环境本地使用 Docker 部署,并结合cpolar 内网穿透工具配置公网地址,实现随时随地远程访问本地存储音乐的详细流程,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • 在Docker构建的容器中实现安装ping工具

    在Docker构建的容器中实现安装ping工具

    这篇文章主要介绍了在Docker构建的容器中实现安装ping工具,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 使用Docker安装phabricator的配置和使用方法

    使用Docker安装phabricator的配置和使用方法

    今天小编就为大家分享一篇关于使用Docker安装phabricator的配置和使用方法的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • CentOS7.6系统下Docker安装部署教程

    CentOS7.6系统下Docker安装部署教程

    这篇文章主要为大家介绍了CentOS7.6系统下Docker的安装部署教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • 浅谈Docker如何自定义host文件

    浅谈Docker如何自定义host文件

    本文主要介绍了Docker如何自定义host文件,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08

最新评论