【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 还是已经有一定经验,这篇指南都能帮助你快速构建稳定的模型服务。

相关推荐
2501_941146327 小时前
物联网与实时数据监控:Python与Go实现智能家居系统
eureka
动亦定7 小时前
页面导出大量数据导致响应超时解决方案
java·mysql
q***06298 小时前
解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
java·前端·spring
还是鼠鼠8 小时前
Redisson实现的分布式锁能解决主从一致性的问题吗?
java·数据库·redis·分布式·缓存·面试·redisson
d***95628 小时前
windows配置永久路由
java
王桑.9 小时前
IO流高级流--转换流
java
qq_12498707539 小时前
基于SpringBoot技术的企业请假审批管理系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·信息可视化·毕业设计
BBB努力学习程序设计9 小时前
Java方法详解:提升代码复用性与可读性的利器
java
BBB努力学习程序设计9 小时前
Java运算符完全指南:让代码学会“计算”和“判断”
java
用户849137175471610 小时前
ThreadLocal 源码深度解析:JDK 设计者的“妥协”与“智慧”
java·后端