📋 常见问题
💡 为什么要使用 Docker?
我们理解 Docker 可能不是每个人的选择,但这种方法是我们项目设计和操作效率的核心。我们认为项目对 Docker 的依赖是基础性的,并鼓励那些寻求不同部署方法的人探索社区驱动的替代方案。
📜 目录
- 问:为什么需要注册?我的数据会被发送到哪里?
- 问:为什么我的 Docker 容器无法通过 localhost 连接到主机上的服务?
- 问:如何让 Docker 容器访问主机上的服务?
- 问:为什么我的 Open WebUI 没有更新?我已经重新拉取/重启了容器,但没有任何变化。
- 问:等等,为什么要删除容器?不会丢失数据吗?
- 问:应该使用发行版打包的 Docker 还是官方 Docker 包?
- 问:Docker 中支持 GPU 吗?
- 问:为什么 Open WebUI 强调使用 Docker?
- 问:为什么在我的部署中语音转文字(STT)和文字转语音(TTS)不起作用?
- 问:为什么 Open WebUI 不包含内置的 HTTPS 支持?
- 问:我更新/重启/安装了一些新软件后,Open WebUI 不再工作了!
- 问:我更新/重启后,登录不再有效,我不得不创建一个新账户,所有聊天记录都消失了。
- 问:我尝试登录却失败了,创建了一个新账户后被告知需要管理员激活。
- 问:为什么 Open WebUI 会因为 SSL 错误而无法启动?
问:为什么需要注册?我的数据会被发送到哪里?
答: 我们要求您注册以成为管理 员用户,从而增强安全性。这确保了即使 Open WebUI 被外部访问,您的数据仍然安全。重要的是,所有信息都保存在本地。我们不会收集您的数据。当您注册时,所有信息都保留在您的服务器上,绝不会离开您的设备。隐私和安全始终是我们的首要任务,确保您的数据始终处于您的控制之下。
问:为什么我的 Docker 容器无法通过 localhost
连接到主机上的服务?
答: 在 Docker 容器内,localhost
指的是容器本身,而不是主机。这种区别对于网络配置至关重要。要从容器连接到主机上的服务,应使用 DNS 名称 host.docker.internal
而不是 localhost
。这个 DNS 名称被 Docker 特别识别,用于促进此类连接,将主机视为可从容器内部访问的实体,从而绕过通常的 localhost
范围限制。
问:如何让 Docker 容器访问主机上的服务?
答: 要使主机上的服务对 Docker 容器可见,请将这些服务配置为监听所有网络接口,使用 IP 地址 0.0.0.0
,而不是仅限于 localhost
的 127.0.0.1
。这种配置允许服务接受来自任何 IP 地址的连接,包括 Docker 容器。需要注意这种设置的安全性影响,尤其是在可能存在外部访问的环境中。实施适当的安全措施,如防火墙和身份验证,可以帮助降低风险。
问:为什么我的 Open WebUI 没有更新?我已经重新拉取/重启了容器,但没有任何变化。
答: 更新 Open WebUI 需要做更多的工作,而不仅仅是拉取新的 Docker 镜像。以下是可能的原因及解决方案:
- 更新 Docker 镜像:命令
docker pull ghcr.io/open-webui/open-webui:main
更新了 Docker 镜像,但未更新运行中的容器或其数据。 - 持久化数据在 Docker 卷中:Docker 卷独立于容器生命周期存储数据,通过更新保留您的数据(如聊天历史)。
- 应用更新:确保更新生效的方法是删除现有容器(不删除卷),并使用更新后的镜像和现有卷创建一个新的容器。
这样可以更新应用程序,同时保持数据安全。