Open WebUI Docker部署实战指南:从零到跑通 Ollama 网页界面的完整教程
【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui
想在浏览器里跟大模型聊天,又不想在本地装一堆依赖?Open WebUI 是一个开源的 AI 网页界面,直接对接 Ollama 和 OpenAI 兼容 API,用 Docker Compose 一条命令就能把整套服务拉起来。这篇文章讲清楚从装到能用的完整流程。
一张图看懂 Open WebUI + Ollama 双容器架构
说白了:open-webui 负责界面,ollama 负责跑模型,两者在 Docker 内部网络里互相对话。数据存在两个"命名卷"里——卷就是 Docker 帮你在宿主机上管的一块存储,容器删了数据还在。
部署前先给机器做体检
| 项目 | 最低要求 | 备注 |
|---|---|---|
| Docker Engine | 20.10+ | 需带 Compose v2 |
| 内存 | 4GB | 建议 8GB+,模型吃内存 |
| 磁盘 | 10GB 空闲 | 装镜像和模型权重 |
| 网络 | 首次需要 | 拉镜像和模型,部署完可离线 |
体检命令:
# 一次性检查 Docker 和 Compose 版本 docker --version && docker compose version执行后你会看到两行:Docker 版本号(如27.x)和Docker Compose version v2.x.x。缺哪个先补哪个。
Open WebUI Docker 一键部署三步走
第一步:拿部署文件
# 克隆仓库并进入目录 git clone https://gitcode.com/GitHub_Trending/op/open-webui cd open-webui执行后你会看到目录里躺着docker-compose.yaml,它就是本次部署的主配置。
第二步:启动两个容器
# 启动 ollama + open-webui,自动建内部网络和数据卷 docker compose up -d执行后你会看到两个容器的拉取/构建输出,最后出现open-webui Started。首次要构建镜像,耐心等几分钟。
第三步:确认跑起来了
# 检查容器状态 docker compose ps执行后你会看到两条状态为running的容器。浏览器打开http://localhost:3000,注册第一个账号,它就是管理员。
不想手敲 compose 文件的话,仓库里还有个交互式脚本docker-compose-launcher.sh,能自动探测 GPU、用参数选端口和数据目录。
按需选装:只挑你要的
把入口换成 80 端口
谁需要:3000 端口被占,或者想直接用域名 80/443 访问。
# 临时用 80 端口启动,只对本次生效 OPEN_WEBUI_PORT=80 docker compose up -d想永久生效,改 docker-compose.yaml 里OPEN_WEBUI_PORT-3000那一行。
接外部 Ollama 实例
谁需要:Ollama 已经在别的服务器上跑着,不想重复拉一个。
# 指定外部 Ollama 地址,覆盖 compose 里的默认值 OLLAMA_BASE_URL=https://ollama.example.com docker compose up -d执行后你会在 compose 输出里看到OLLAMA_BASE_URL被覆盖为新地址。
把 Ollama API 开放给外部工具
谁需要:想用脚本或其他程序直接调模型接口。
# 叠加 api 配置,额外暴露 11434 端口 docker compose -f docker-compose.yaml -f docker-compose.api.yaml up -d生产环境别把这个端口裸奔,前面挂个反向代理加认证。
开启 NVIDIA GPU 加速
谁需要:想跑大模型,CPU 推理太慢。前提装了 NVIDIA 驱动和 Container Toolkit。
# 叠加 gpu 配置,给 ollama 容器分配 1 块 GPU docker compose -f docker-compose.yaml -f docker-compose.gpu.yaml up -d开启 AMD GPU
谁需要:显卡是 AMD 的。用 rocm 镜像 + ROCm 驱动。
# 叠加 amdgpu 配置,换 :rocm 镜像并映射 GPU 设备 docker compose -f docker-compose.yaml -f docker-compose.amdgpu.yaml up -d指定数据存放位置
谁需要:想备份、迁移数据,或者嫌命名卷看不见摸不着。
# 把 ollama 数据改到宿主机目录 OLLAMA_DATA_DIR=./ollama-data docker compose -f docker-compose.yaml -f docker-compose.data.yaml up -d执行后你会看到./ollama-data目录被创建,模型权重直接躺在里面,方便打包和迁移。
🩹 翻车急救包:卡住了照这个查
症状:容器起不来,反复重启
排查一条:docker compose logs --tail=50 open-webui
解法:最常见是端口被占,日志里会有port is already allocated,换端口或杀掉旧进程;提示权限错误就重建数据卷再启动。
症状:WebUI 提示找不到 Ollama
排查一条:docker compose exec ollama ollama list
解法:容器里列不出模型,说明 WebUI 指错地址了。确认OLLAMA_BASE_URL在 compose 网络内应为http://ollama:11434,别写成 127.0.0.1。
症状:模型跑得慢,日志显示 CPU 推理
排查一条:docker run --rm --gpus all nvidia/cuda:12.1.1-base-ubuntu22.04 nvidia-smi
解法:没有输出就是 Docker 看不到 GPU,重装 NVIDIA Container Toolkit 并重启 Docker 服务,再用 gpu 配置启动。
症状:想确认服务健康、想备份数据
排查一条:docker inspect --format='{{.State.Health.Status}}' open-webui
解法:输出healthy即正常(镜像内置/health检查,见 Dockerfile)。备份数据卷直接打包:
# 把 webui 数据卷打包到当前目录 docker run --rm -v open-webui:/source -v $(pwd):/backup alpine tar -czf /backup/webui-backup.tar.gz -C /source .跑通之后:下一步去看什么
到这里你已经有一个可离线使用的 AI 网页服务。想再往下定制,直接看这几个文件:
- 主配置:docker-compose.yaml
- 镜像构建细节:Dockerfile
- 官方安装说明:README.md
- 常见问题排查:TROUBLESHOOTING.md
【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考