资讯专栏INFORMATION COLUMN

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

白马啸西风 / 239人阅读

一、现网环境

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

image.png

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128156.html

相关文章

  • 容器云 UK8S】镜像仓库:镜像仓库概述,UK8S支持的镜像库类型和在UK8S中使用UHub

    概述镜像仓库概述镜像库用于存储、分发Docker镜像,你可以将您的应用打包Docker镜像Push镜像仓库,需要使用时,再从镜像仓库Pull本地。UK8S支持的镜像库类型UK8S支持各类公有及私有镜像库,如:DockerHub官方镜像库(...

    Tecode 评论0 收藏0
  • 容器云 UK8S】最佳实践:基于Jenkins的CI/CD实践

    ...用,非常重要。用法,选择 ”尽可能使用这个节点“Docker镜像,填写”uhub.service.ucloud.cn/library/jenkins:jnlp“,这个容器镜像是我们CI/CD的运行环境。工作目录,填写”/home/jenkins“选择添加卷,主机路径和挂载路径都填写”/var...

    Tecode 评论0 收藏0
  • 容器镜像UHub】操作指南:创建镜像仓库、镜像库登录、push镜像、pull镜像

    ...可以将镜像仓库设置公开。在创建镜像仓库后,即可从docker client端镜像push镜像来创建镜像镜像库登录在装有docker (版本要求1.10 以上版本) 机器上通过docker login执行登录。登录镜像仓库,通过域名访问服务:docker login uhub.serv...

    Tecode 评论0 收藏0
  • Cube实践第三期:超详细Java应用入Cube指南

    ...镜像,放 Cube中运行。我们来提炼一下本期操作要点:Docker基本概念理解环境准备申请Uhub创建镜像仓库准备Java构建环境以及Docker 环境,登录至Uhub准备DockerfileFROM uhub.service.ucloud.cn/hello/maven:3-jdk-8-alpine WORKDIR /usr/src/app #替换...

    Tecode 评论0 收藏0
  • Kubernetes如何加速UCloud内部代码部署的CI/CD流程

    ...行结果告诉 Gitlab。 Kaniko集成和改造:在容器中构建Docker镜像 了使用 CI/CD 将代码变成最终运行在 Kubernetes 中的服务,必不可少的一步就是容器镜像的构建。由于CI Job本身就是以容器的形式运行的,所以需要在容器中构建...

    gougoujiang 评论0 收藏0

发表评论

0条评论

白马啸西风

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<