任务:需要将上一篇文章# CentOS 7.9部署OpenWebUI(容器方式)部署的OpenWebUI离线迁移到一个内网服务器上
1、停止OpenWebUI容器:
docker stop open-webui
2、提交变更到新镜像上
docker commit open-webui open-webui:latest

tag为main的镜像是当时从网上pull下来的,这里创建了一个新的镜像
3、查看挂载到容器内主机的文件卷
docker inspect open-webui

4、对数据进行备份:
tar -czvf data.tar.gz /var/lib/docker/volumes/open-webui/_data
5、导出镜像到本地文件
docker save -o open-webui.tar open-webui:latest
6、将导出的镜像文件和数据备份文件迁移到内网服务器上
7、删除创建的新镜像
docker rmi open-webui:latest
8、重新启动容器,恢复服务
docker start open-webui
以下操作都在内网服务器上完成:
7、加载镜像文件
docker load -i open-webui.tar
docker images
查看是否正常。
tar -xzvf data.tar.gz -C /openwebui
恢复数据备份
8、从镜像启动容器
#和ollama安装在同一个服务器中
docker run -d -p 3000:8080 --privileged=true --add-host=host.docker.internal:host-gateway -v /openwebui:/app/backend/data --name open-webui --restart always open-webui:latest
#如果ollama位于另外的服务器
需要添加 -e OLLAMA_API_BASE_URL=http://ollama_server_ip:11434 选项
9、启动容器后,就可以通过 http://serverIP:3000 打开OpenWebUI了。