栏目头部广告

Docker打包运行中的容器为镜像并Push到UHub

一、现网环境

(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的数据迁移完美结束!!!

Docker打包运行中的容器为镜像并Push到UHub(图1)

作者:UStarGao
链接:https://www.starcto.com/docker/258.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处

UCloud云平台推荐


UCloud新用户专属注册连接

UCloud CDN超值特惠专场

UCloud全球云主机(UHost/VPS)大促页面

UCloud快杰云主机大促页面

文章页广告

随便看看

栏目底部广告
`