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时,将容器暂停。
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的数据迁移完美结束!!!
作者:UStarGao
链接:https://www.starcto.com/docker/258.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
UCloud云平台推荐
随便看看
- 2021-08-31Docker自建容器实例迁移至UCloud 容器实例Cube
- 2022-06-24一文搞懂MySQL日志区别-binlog/redo log/undo log
- 2021-07-13MongoDB主从复制搭建教程-单机热备
- 2021-11-17Docker打包运行中的容器为镜像并Push到UHub
- 2022-03-01MySQL read_only与super_read_only参数解读