本文记录一次 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 本身更高效。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐