在使用 Docker 部署 Open WebUI 时,如何在更新容器的同时确保数据不丢失,始终是工程师们关注的焦点。每次拉取新版镜像、停止并重启容器时,如果没有正确挂载数据卷,配置和数据库数据极易流失,给生产环境带来不必要的麻烦。
本篇博客将带你深入解析 Docker 数据卷的使用方法,详细讲解如何通过命名数据卷(如 -v open-webui:/app/backend/data
)实现数据持久化,保证更新 Open WebUI 后依然无缝衔接历史数据。我们不仅会展示如何查看和验证数据卷的存在,还将分享最佳实践,确保每一次容器更新都能做到数据“更新无忧”。
无论你是 Docker 新手还是经验丰富的 DevOps 专家,都能在这篇文章中找到切实可行的解决方案,为你的 Open WebUI 部署保驾护航。
当搭建好了OpenwebUI项目后,配置了一些数据和用户登录信息,如果安装的时候用的是docker 安装的话,我的版本是0.3,目前最新版是0.5,如果直接删除docker安装的话,会把里面的数据删除掉。
验证数据卷是否存在:
你可以使用以下命令来查看当前 Docker 管理的卷
docker volume ls
如果看到 open-webui
出现在列表中,说明数据卷已经存在并正在使用。
查看数据卷详情(可选):
使用以下命令可以查看数据卷的挂载点等详细信息:
docker volume inspect open-webui
那么来提供一个更新后保留数据的方法,
1,拉取最新的项目镜像
docker pull ghcr.io/open-webui/open-webui:main
2,停止并删除旧容器(数据卷不会被删除)
docker stop open-webui
docker rm open-webui
3,启动新容器,并挂载相同的数据卷
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui --restart always \
ghcr.io/open-webui/open-webui:main
项目运行成功了,
再看下版本,已经更新到了当前的最新版。
而且以前低版本时配置的大模型名称数据也在