Docker打包运行中的容器为镜像并Push到UHub
AI 摘要 / TL;DR
一、现网环境 (1)查看运行中的cloudreve容器 (2)环境变更说明 cloudreve自建云盘提供非常丝滑的Web管理页面,在做迁移之前,我通过Web页面自定义了很多配置,并且上传了大量视频和文件数据。前期迁移的时候,没有打包运行中的容器环境,直接运行了新容器,然后把数据目录还原,这时Web登录发现cloudr
来源: https://www.ucloud.cn/yun/128156.html 作者: 白马啸西风 发布日期: 发布于2022-10-19 11:05
一、现网环境
(1)查看运行中的cloudreve容器
[root@10-60-84-125 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c33783b5a728 xavierniu/cloudreve "./cloudreve-main -c…" 4 weeks ago Up 4 weeks 0.0.0.0:5212->5212/tcp, :::5212->5212/tcp cloudreve
(2)环境变更说明
cloudreve自建云盘提供非常丝滑的Web管理页面,在做迁移之前,我通过Web页面自定义了很多配置,并且上传了大量视频和文件数据。前期迁移的时候,没有打包运行中的容器环境,直接运行了新容器,然后把数据目录还原,这时Web登录发现cloudreve恢复了默认配置,并且无法读取还原的数据文件。
(3)数据文件目录
[root@10-60-84-125 ~]# ll /data/cloudreve
total 0
drwxr-xr-x 2 root root 6 Oct 14 11:06 avatar
drwxr-xr-x 2 root root 22 Oct 14 11:06 config
drwxr-xr-x 2 root root 6 Oct 14 11:06 db
drwxr-xr-x 3 root root 15 Oct 14 11:46 uploads
二、业务迁移
2.1 备份cloudreve数据
(1)打包数据目录文件
[root@10-60-84-125 ~]# cd /data/
[root@10-60-84-125 data]# tar zcvf cloudreve.tar.gz cloudreve/
(2)打包容器并上传至UHub
语法:docker commit -m=“提交的描述信息” -a=“作者” 容器id 要创建的目标镜像名:[标签名]
[root@10-60-84-125 ~]# docker commit -m="cloudreve" -a="star.gao" c33783b5a728 uhub.service.ucloud.cn/starcto/cloudreve:v1
[root@10-60-84-125 ~]# docker push uhub.service.ucloud.cn/starcto/cloudreve:v1
Docker commit参数解读:◆ -m 提交时的说明文字◆ -c 使用Dockerfile指令来创建镜像◆ -a 提交的镜像作者;◆ -p 在commit时,将容器暂停。
推荐文章:UCloud UHub容器镜像仓库使用教程
2.2 数据文件备份与还原
(1)将打包好的数据文件传输到新业务主机
[root@10-60-84-125 data]# scp cloudreve.tar.gz root@106.75.226.111:/data/cloudreve.tar.gz
(2)新业务主机解压与还原数据文件至对应目录
[root@blogs-v2 ~]# cd /data/
[root@blogs-v2 data]# tar zxvf cloudreve.tar.gz
2.3 新业务主机重新部署业务
(1)从UHub下载镜像
[root@blogs-v2 ~]# docker pull uhub.service.ucloud.cn/starcto/cloudreve:v1
(2)运行cloudreve容器
[root@blogs-v2 ~]# docker run -d --name cloudreve -e PUID=1000 -e PGID=1000 -e TZ="Asia/Shanghai" -p 5212:5212 --restart=unless-stopped \
-v /data/cloudreve/uploads:/cloudreve/uploads \
-v /data/cloudreve/config:/cloudreve/config \
-v /data/cloudreve/db:/cloudreve/db \
-v /data/cloudreve/avatar:/cloudreve/avatar uhub.service.ucloud.cn/starcto/cloudreve:v1
2.4 访问验证
修改完DNS解析后,进行访问验证,发现数据和配置都和之前完全一样,恢复如初!!!自此对cloudreve的数据迁移完美结束!!!
