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

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

在本篇文章中,我们将深入探讨如何在Docker中高效部署 Ollama 和 Open-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 还是已经有一定经验,这篇指南都能帮助你快速构建稳定的模型服务。

相关推荐
乌暮15 小时前
综合案例:宠物电商系统
java·开发语言·spring·mvc·restful·1024程序员节
VimorphTech15 小时前
一段字幕太长,怎样拆句并安排显示时间?
java·spring boot
万联WANFLOW15 小时前
Kimi K3.1 Pro 接口接入指南:模型选型、费用计算与零数据保留
java·spring boot·python·安全·spring·大模型
织码weavecodes15 小时前
新闻资讯模块设计:内容发布、阅读计数与附件鉴权
java·服务器·数据库
说实话起个名字真难啊15 小时前
实战docker部署dify及注意点
运维·docker·容器
学到老活到老15 小时前
Spring 事务怎样生效?为什么加了 @Transactional 仍不回滚?
java·spring
学到老活到老15 小时前
Spring 怎样创建 Bean?@Autowired 在哪一步生效?
java·spring
用户1129361121915 小时前
我扫了项目里 739 个 Controller,发现最危险的越权漏洞不是没认证
java
小羊没烦恼!15 小时前
分布式事务 | 使用DTM 的Saga 模式
java·linux·运维·数据库·wpf
JPower_mr.g15 小时前
SmartCall v1.0.9 发布:智能体知识库上线,让 AI 客服先查资料再回答
java·ide·人工智能·macos·架构·开源·xcode