news 2026/9/12 14:38:13

Open WebUI 如何使用 :cuda 镜像与 --gpus all 启动以启用 NVIDIA GPU 支持

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open WebUI 如何使用 :cuda 镜像与 --gpus all 启动以启用 NVIDIA GPU 支持

Open WebUI 如何使用 :cuda 镜像与 --gpus all 启动以启用 NVIDIA GPU 支持

【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui

如果你的目标是让 Open WebUI 在 NVIDIA GPU 机器上获得 CUDA 加速,官方给出的部署方式是:拉取带:cuda标签的镜像,并在docker run命令中加上--gpus all参数。这条路径的前提是宿主机为 Linux 或 WSL 系统,且已安装 Nvidia CUDA container toolkit(NVIDIA 容器运行时组件),这一点在 README.md 的 Docker 快速开始章节中有明确说明。完成启动后,Open WebUI 会运行在http://localhost:3000

准备条件

在执行 GPU 版命令前,确认以下几点,它们都来自 README.md 的 Docker 安装说明:

  • 宿主机为Linux 或 WSL系统。要启用 CUDA,必须在宿主机上安装Nvidia CUDA container toolkit,这是 README 中列出的硬性前提。
  • 系统已安装 NVIDIA GPU 与对应驱动,Docker 可用。
  • 无论使用哪个镜像标签,Docker 命令中都必须包含-v open-webui:/app/backend/data。README 以 WARNING 的形式强调:这个挂载用于持久化数据库,缺少它会导致数据丢失。

另外,从 Dockerfile 可以看到,官方:cuda镜像是通过USE_CUDA=true构建参数生成的,默认使用USE_CUDA_VER=cu128(注释说明 cu117 对应 CUDA 11、cu121 对应 CUDA 12 均为已测试版本)。USE_CUDA为 true 时,镜像内会安装对应 CUDA 版本的 torch,并且 whisper 与 embedding 模型会在首次使用时下载,所以第一次触发语音或 RAG 相关功能时会有下载动作。

使用 :cuda 镜像启动容器

README 中给出的 GPU 版启动命令如下,可直接复制执行:

docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda

各参数的用途:

参数说明
:cuda镜像标签,即启用 CUDA 加速的官方镜像
--gpus all将宿主机上所有 GPU 暴露给容器,这是启用 GPU 的关键参数
-p 3000:8080容器内服务端口为 8080,映射到宿主机 3000
--add-host=host.docker.internal:host-gateway让容器能通过host.docker.internal访问宿主机服务(例如本地 Ollama)
-v open-webui:/app/backend/data数据卷挂载,持久化数据库,README 明确要求必须保留
--name open-webui --restart always容器命名与开机自启

这条命令与 README 中默认配置命令的区别只有两处:镜像标签从:main换成:cuda,并追加了--gpus all。如果你只使用 OpenAI API 而不需要 CUDA,不需要切换到:cuda标签。

可选分支:使用 :ollama 镜像并启用 GPU

如果你希望在同一个容器里同时运行 Open WebUI 和内嵌的 Ollama(而不是连接外部 Ollama),README 提供的是:ollama镜像加--gpus=all的组合:

docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

该变体额外挂载了ollama:/root/.ollama数据卷用于持久化 Ollama 的模型数据;不使用 GPU 时则去掉--gpus=all。两条路径不要混用:要么用:cuda连接外部 Ollama/OpenAI 端点,要么用:ollama依赖内嵌推理。

验证启动结果

启动完成后,按以下顺序核对:

  1. 访问入口:浏览器打开http://localhost:3000,应能看到 Open WebUI 页面。
  2. 健康检查:后端提供/health端点(见 backend/open_webui/main.py),返回{'status': true}。宿主机上可以用curl http://localhost:3000/health请求该路径。
  3. 确认 CUDA 已被镜像启用:容器入口脚本 backend/start.sh 在检测到USE_CUDA_DOCKER=true:cuda镜像构建时即为此值)时会向日志输出CUDA enabled — extending LD_LIBRARY_PATH for torch/cudnn libraries.,并将 torch 与 cuDNN 的库路径加入LD_LIBRARY_PATH。执行docker logs open-webui可以看到这一行,说明镜像内的 CUDA 分支确实生效。

排查与限制

  • Ollama 连接失败:如果 WebUI 容器无法访问本机 Ollama(容器内对应127.0.0.1:11434/host.docker.internal:11434),README 的 Troubleshooting 部分给出的解法是改用--network=host网络模式,此时端口映射不再需要,直接访问http://localhost:8080

    docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

    该示例使用的是:main标签,README 未展示:cuda--network=host组合的完整命令;需要 GPU 时可在该命令基础上自行替换标签并加--gpus all,但请以实际环境验证为准。

  • CUDA toolkit 缺失:宿主机没有安装 Nvidia CUDA container toolkit 时,--gpus all无法把 GPU 暴露给容器,这是 README 明确列出的前置条件,遇到 GPU 不可用问题应先检查这一项。

  • 首次使用下载模型:如前所述,:cuda镜像的 whisper 与 embedding 模型是首次使用时才下载,离线环境可参考 README 的 Offline Mode 说明设置HF_HUB_OFFLINE=1

【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 14:37:28

MQTT公网安全实战:从1883明文到8883 TLS加密,用Let‘s Encrypt保护设备通信

一篇一篇写到第九篇,MQTT 这条线已经从“能连上”走到了“能在公网稳定跑”。前面几篇我们把 EMQX 服务端搭了起来,也把客户端的连接认证、Topic 设计捋了一遍,但一直留着一个隐患——服务端和客户端之间基本都在用 1883 端口直连&#xff0c…

作者头像 李华
网站建设 2026/9/12 14:36:24

A*算法与非线性优化融合的智能路径规划技术

1. 项目概述:A*与非线性优化的融合路径规划 在机器人导航、游戏AI和物流调度等领域,路径规划始终是核心挑战。传统A 算法虽然能保证找到最短路径,但在复杂环境中存在计算效率低、路径不够平滑等问题。而单纯的非线性优化方法又难以处理大规模…

作者头像 李华
网站建设 2026/9/12 14:30:34

龙珠超109集战斗艺术与角色成长解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 14:30:20

Kafka Consumer 如何从 classic 协议在线迁移到 group.protocol=consumer

Kafka Consumer 如何从 classic 协议在线迁移到 group.protocolconsumer 【免费下载链接】Kafka Apache Kafka - A distributed event streaming platform 项目地址: https://gitcode.com/GitHub_Trending/kafka4/kafka 如果你的消费组目前运行在 Kafka 4.0 集群上&…

作者头像 李华
网站建设 2026/9/12 14:25:00

基于YOLOv8的高速公路团雾预警系统:从模型训练到可视化部署全解析

简介:面向计算机视觉与智慧交通方向的毕业设计、课程设计开发者,这套基于YOLOv8的团雾预警系统融合目标检测与可视化界面,覆盖高速公路团雾场景的数据处理、模型训练、视频检测和界面演示,适合有一定深度学习基础的学生快速上手。…

作者头像 李华