【Docker】Docker环境下快速部署Ollama与Open-WebUI:详细指南

Docker环境下快速部署Ollama与Open-WebUI:详细指南

在本篇文章中,我们将深入探讨如何在Docker中高效部署 OllamaOpen-WebUI,并解决在实际使用中常见的问题,确保你的模型服务稳定高效地运行。


一、Ollama 和 Open-WebUI 快速部署

1. 启动 Ollama

我们首先使用 Docker 运行 Ollama,确保它具备 GPU 加速功能:

bash 复制代码
docker run --name=ollama \
  --volume /home/user/.ollama:/root/.ollama \
  --network=bridge \
  -p 11434:11434 \
  --runtime=nvidia \
  --gpus all \
  --detach=true \
  ollama/ollama serve
  • --runtime=nvidia --gpus all:启用 GPU 加速(如果没有 GPU,可将其删除)。
  • --volume /home/user/.ollama:/root/.ollama:持久化数据存储在主机目录。
  • --network=bridge:设置为桥接模式,确保网络隔离。

2. 启动 Open-WebUI

接下来,我们部署 Open-WebUI:

bash 复制代码
docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  -e ENABLE_OPENAI_API=False \
  ghcr.io/open-webui/open-webui:main
  • -p 3000:8080:将容器端口 8080 映射到主机端口 3000。
  • -e ENABLE_OPENAI_API=False:关闭 OpenAI API(可根据需求开启)。
  • --restart always:确保 Open-WebUI 崩溃后自动重启。

二、Ollama 模型调用示例

在 Ollama 容器中,我们可以轻松运行模型:

bash 复制代码
docker exec -it ollama ollama run llama2
  • ollama run llama2 :指定调用的模型(此处为 llama2)。

三、常见错误与解决方法

错误一:忘记 Open-WebUI 账号密码

如果你忘记了 Open-WebUI 的账号密码,需清除数据:

bash 复制代码
docker volume rm open-webui

⚠️ 注意:这将清除所有数据,请谨慎操作!


错误二:模型版本不兼容

如果在尝试运行模型(如 Qwen3:32b)时,出现如下错误:

bash 复制代码
Error: pull model manifest: 412:
The model you are attempting to pull requires a newer version of Ollama.

这意味着 Ollama 版本已过期,无法兼容最新模型。

解决方法:升级 Ollama

1. 停止并删除旧版本容器
bash 复制代码
docker stop ollama
docker rm ollama
2. 拉取最新的 Ollama 镜像
bash 复制代码
docker pull ollama/ollama:latest
3. 使用最新版本启动 Ollama
bash 复制代码
docker run --name=ollama \
  --volume /home/user/.ollama:/root/.ollama \
  --network=bridge \
  -p 11434:11434 \
  --runtime=runc \
  --detach=true \
  ollama/ollama serve
4. 确保版本升级成功
bash 复制代码
docker exec -it ollama ollama --version
  • 输出最新版本号即表示升级成功。
5. 再次运行 Qwen3:32b 模型
bash 复制代码
docker exec -it ollama ollama run qwen3:32b

四、最佳实践:提高模型部署稳定性

  1. 始终保持 Ollama 和 Open-WebUI 镜像为最新版本

    bash 复制代码
    docker pull ollama/ollama:latest
    docker pull ghcr.io/open-webui/open-webui:main
  2. 使用持久化数据卷,防止数据丢失:

    bash 复制代码
    -v /home/user/.ollama:/root/.ollama
    -v open-webui:/app/backend/data
  3. 定期备份重要配置和模型文件


五、总结

本文详细讲解了如何在 Docker 环境中部署 Ollama 和 Open-WebUI,并分析了常见错误和解决方法。无论你是刚入门 Docker 还是已经有一定经验,这篇指南都能帮助你快速构建稳定的模型服务。

相关推荐
无敌最俊朗@8 小时前
Qt 多线程编程: moveToThread 模式讲解
java·开发语言
程序员清风9 小时前
别卷模型了!上下文工程才是大模型应用的王道!
java·后端·面试
go__Ahead9 小时前
【Java】ThreadLocal源码解析
java
利剑 -~9 小时前
Spring AI Alibaba 1.1版本
java·人工智能·spring
雨中飘荡的记忆9 小时前
Guava工具库实战
java
while(1){yan}9 小时前
JAVA中如何操作文件
java·开发语言·面试
SuperherRo9 小时前
JAVA攻防-FastJson专题&各版本Gadget链&autoType开关&黑名单&依赖包&本地代码
java·fastjson·1.2.24·1.2.47·1.2.62·1.2.80
爬山算法9 小时前
Netty(5)Netty的ByteBuf是什么?它与Java NIO的ByteBuffer有何不同?
java·开发语言·nio
爱笑的眼睛119 小时前
超越SIFT与ORB:深入OpenCV特征检测API的设计哲学与高阶实践
java·人工智能·python·ai
JH30739 小时前
Java 是值传递:深入理解参数传递机制
java·开发语言·windows