Open WebUI Docker 部署:连接 Ollama、数据卷和镜像拉取排查
·
本文记录一次 Open WebUI Docker 部署流程,重点放在三个容易踩的地方:GHCR 镜像拉取、Ollama 地址连接、数据持久化。
1. 镜像说明
Open WebUI 官方快速开始给出的主镜像是:
ghcr.io/open-webui/open-webui:main
也提供 Docker Hub 镜像:
openwebui/open-webui
如果当前网络访问 GHCR 不稳定,可以先用毫秒镜像入口做拉取预检:
docker pull ghcr.1ms.run/open-webui/open-webui:main
这一步只验证镜像层,不代表 Ollama、端口和数据卷都配置正确。
2. 最小启动命令
docker run -d \
-p 3000:8080 \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.1ms.run/open-webui/open-webui:main
检查容器:
docker ps | grep open-webui
docker logs -f open-webui
访问:
http://<server-ip>:3000
3. 参数解释
| 参数 | 作用 |
|---|---|
-p 3000:8080 |
宿主机 3000 端口映射到容器 8080 端口 |
-v open-webui:/app/backend/data |
持久化 WebUI 数据 |
--restart always |
容器退出后自动重启 |
--name open-webui |
固定容器名,便于 logs 和 rm 操作 |
如果不挂载 /app/backend/data,后续重建容器时配置和数据容易丢。
4. 连接宿主机 Ollama
假设 Ollama 在宿主机监听 11434,容器里直接访问 127.0.0.1:11434 通常不对。可以先尝试:
docker run -d \
-p 3000:8080 \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.1ms.run/open-webui/open-webui:main
Linux 上如果 host.docker.internal 不可用,可以改为 Compose 网络,或者添加 host-gateway 映射。
验证 Ollama:
curl http://127.0.0.1:11434/api/tags
容器内验证:
docker exec -it open-webui sh
wget -qO- http://host.docker.internal:11434/api/tags
5. Docker Compose 示例
services:
open-webui:
image: ghcr.1ms.run/open-webui/open-webui:main
container_name: open-webui
restart: unless-stopped
ports:
- "3000:8080"
environment:
OLLAMA_BASE_URL: "http://host.docker.internal:11434"
volumes:
- open-webui:/app/backend/data
volumes:
open-webui:
启动:
docker compose pull
docker compose up -d
docker compose logs -f open-webui
更新:
docker compose pull
docker compose up -d
6. 常见问题
6.1 docker pull 卡住
先单独验证镜像:
docker pull ghcr.1ms.run/open-webui/open-webui:main
如果这一步失败,先处理镜像入口,不要继续排 Ollama。
6.2 页面打不开
检查:
docker ps
docker logs open-webui
ss -lntp | grep 3000
云服务器还要检查安全组和防火墙。
6.3 页面打开但没有模型
优先看 Ollama:
curl http://127.0.0.1:11434/api/tags
如果宿主机能访问、容器内不能访问,就是容器网络地址问题。
6.4 重建后配置丢失
检查数据卷:
docker volume inspect open-webui
7. 小结
Open WebUI 是一个很适合用 Docker 快速落地的内网 AI Web UI。部署时按顺序排:镜像拉取、容器启动、端口映射、Ollama 地址、数据卷。这样比一上来怀疑模型或 WebUI 本身更高效。
更多推荐




所有评论(0)