元数据
| id | open-webui-deploy-fail | 收录 | 2026-09-24 |
|---|---|---|---|
| 问题域 | 大模型本地部署 | 主题分组 | Agent 工具·运行与配置 |
| 适用工具 | open-webuidocker · 外部工具 | ||
症状
```
# 形态 1:镜像拉取超时
Error response from daemon: ... context deadline exceeded (Client.Timeout exceeded while awaiting headers)
# 形态 2:宿主端口被占
docker: Error response from daemon: failed to set up container networking:
failed to bind host port 0.0.0.0:3000/tcp: address already in use
# 形态 3:容器 Up 但浏览器打不开(启动未完成,最常见)
(浏览器)This site can't be reached / 连接被拒绝
# 形态 4:删容器重建后账号、会话、知识库清空
(页面)回到首次注册引导
```
原因
镜像源慢(ghcr.io 直连)、宿主端口被占用、首次启动需 2-3 分钟准备 embedding 模型、数据目录 `/app/backend/data` 没有挂到 volume——四个断点分别对应上面四种形态。
解法
1. 换国内镜像前缀:`ghcr.nju.edu.cn/open-webui/open-webui:main`(实测 3 分 24 秒拉完);
2. 端口冲突先 `docker ps` / `ss -tlnp` 定位,旧容器删掉或换宿主端口;
3. 页面打不开先 `docker logs` 看是不是还在启动,等首次 200(本机实测冷启动 154 秒);
4. 一律加 `-v open-webui:/app/backend/data`,重建容器不丢数据;
5. 连不上 ollama 另见 [open-webui-ollama-connect](open-webui-ollama-connect.html)。
验证证据
- 本机实测(2026-09-24,WSL2 Ubuntu + Docker 29.1.3,独立容器/独立卷,未碰其它容器):
- 直连 `ghcr.io` 限时 25 秒未完成(部分层 Download complete,超时退出码 124);`ghcr.nju.edu.cn` 实测 3 分 24.222 秒拉完,digest `sha256:8b432fe0a65b91116afc7961365c6cca5379cc923171386a96691f3471f3cae9`,大小 1656076851 字节;
- python3 占住宿主 3000 端口后 `docker run -p 3000:8080` → `failed to bind host port 0.0.0.0:3000/tcp: address already in use`(创建失败);换 `-p 3300:8080` 成功;
- 冷启动到首次 HTTP 200 实测 154 秒;容器日志可见 embedding 模型加载(`all-MiniLM-L6-v2`)与 `uvicorn` 启动行;
- `-v` 挂卷:`docker inspect` Mounts 显示卷挂到 `/app/backend/data`;`docker rm -f` 后同卷重建,`webui.db` 仍存在(647168 → 684032 字节);不挂卷容器 Mounts 为 `[]`;
- 证据:实测复现日志(2026-09-24)。
- 工具侧实测素材(2026-09-01,实测复现日志(2026-09-01)):ghcr.nju.edu.cn 镜像全链路通过(连 ollama 真实推理)。
- 未实测:Docker Desktop(Windows/macOS)形态、compose 形态(机制由官方文档与容器网络规则标注)。
来源与证据
素材来源:站内文档(工具侧 2026-09-01 实测素材,本条目 2026-09-24 独立复现)
验证证据:Evidence details kept locally (2026-09-24)