资讯专栏INFORMATION COLUMN

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

白马啸西风 / 757人阅读

一、现网环境

(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官方镜像库(默认)UHub(UCloud镜像...

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

    摘要:扩展性好当集群的资源严重不足而导致排队等待时,可以很容易的添加一个到集群中,从而实现扩展。用法,选择尽可能使用这个节点镜像,填写,这个容器镜像是我们的运行环境。更新文件,这里我们只是将中的镜像更换成最新构建出的镜像。基于Jenkins的CI/CD实践[TOC]一、概要提到K8S环境下的CI/CD,可以使用的工具有很多,比如Jenkins、Gitlab CI、新兴的drone等,考虑到大多公司...

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

    摘要:操作指南创建镜像仓库在控制台,找到公共镜像库服务。镜像库登录在装有版本要求以上版本机器上通过执行登录。独立密码根据登录用户名进行绑定,修改独立密码将适用于所有镜像仓库。暂不支持内网拉取镜像的地域福建。公共镜像库 UHub公共镜像库 UHub 是一种UCloud推出的免费的公共镜像库服务。每个项目可以创建一个镜像仓库。UHub可以让用户自由创建和管理镜像库。UHub镜像库为跨地域架构,在一个地...

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

    摘要:今天,我们换施老师来讲,超详细的应用入指南。朋友们,来咯视频实践第三期超详细应用入指南视频实践第三期超详细应用入指南知识点云游戏的演示网站是一个典型的应用,视频内容是以这个应用为例向大家介绍应用如何打成镜像,放到中运行。上一期视频,沈老师带各位将一个PHP网站运行在Cube上。今天,我们换施老师来讲,超详细的Java应用入Cube指南。朋友们,来咯!知识点云游戏的演示网站是一个典型的Java...

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

    摘要:内部长期使用来管理代码。审核通过并且成功后,触发静态测试单元测试镜像构建镜像部署集成测试等测试通过后,创建一个从到的,由负责人进行审核。从图中我们可以看到,部分是一个单元测试,预发布部署,集成测试,,提交代码的循环过程。UCloud内部长期使用 Gitlab 来管理代码。虽然Gitlab作为一套开源平台已很优秀,但我们对于其能为CI/CD提供的敏捷性并不十分满意,内部实践中的代码发布周期仍需...

    gougoujiang 评论0 收藏0

发表评论

0条评论

白马啸西风

|高级讲师

TA的文章

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