一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种容器镜像迁移方法、装置、设备及存储介质与流程

2023-02-06 17:01:17 来源:中国专利 TAG:


1.本技术实施例涉及容器技术领域,涉及但不限于一种容器镜像迁移方法、装置、设备及存储介质。


背景技术:

2.harbor是为企业用户设计的容器镜像仓库开源项目。docker是一个开源的应用容器引擎,让开发者可以打包应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的linux或windows操作系统的机器上,也可以实现虚拟化。
3.现有技术方案harbor迁移镜像,有以下两种方案:方案一、重新标签方式,即在一台机器上使用docker拉取(pull)所有镜像,再docker标签(tag),最后docker推送(push)到harbor中;方案二、使用harbor复制功能,从另一个有镜像的harbor服务器复制拉取镜像。
4.以上两种方案都是通过镜像每层数据拉取/推送,当一层数据拉取/推送失败,就会重试拉取/推送这一层数据。且以上两种方案都依赖于网络传输,网络情况糟糕时,容易因为数据传输丢失或者数据传输错误,引起迁移或者复制失败。
5.以上两种方案只是复制传输镜像数据,镜像数据信息之间的关系是需要目标harbor在进行重建的过程中解析创建的,重建耗时长,且在重建的过程中容易出错。


技术实现要素:

6.有鉴于此,本技术实施例提供一种容器镜像迁移方法、装置、设备及存储介质。用以解决现有技术中harbor迁移依赖于网络传输,引起迁移或者复制失败的问题,和目标harbor重建耗时长,且容易出错的问题。
7.为了解决上述技术问题,本发明实施例提供如下技术方案:
8.第一方面,本技术实施例提供一种容器镜像迁移方法,所述方法包括:
9.在确定对源容器镜像仓库进行容器镜像迁移的情况下,删除目标容器镜像仓库启动过程中产生的数据库元数据;
10.确定目标存储介质,其中,所述目标存储介质中的数据包括从所述源容器镜像仓库获取的将待迁移的完整的镜像数据和所述镜像数据的数据信息,其中,所述镜像数据包括至少两层数据,所述数据信息用于描述所述至少两层数据之间的关联信息;
11.将所述镜像数据和所述镜像数据的数据信息从所述目标存储介质复制至所述目标容器镜像仓库的对应存储位置;
12.重启所述目标容器镜像仓库,以完成所述源容器镜像仓库的迁移。
13.在一些实施例中,所述目标存储介质为可移动存储介质。
14.这样,可以不依赖网络传输,实现harbor数据的迁移。
15.在一些实施例中,所述数据信息在所述源容器镜像仓库中基于所述待迁移的完整的镜像数据建立的。
16.这样,可以提前在源容器镜像仓库中建立数据信息,避免在目标容器镜像仓库再
建立数据信息,有效提升了重建效率。
17.在一些实施例中,所述目标容器镜像仓库包括注册表目录和数据库,所述将所述镜像数据和所述镜像数据的数据信息从所述目标存储介质复制至目标容器镜像仓库的对应存储位置,包括:将所述镜像数据从所述目标存储介质复制至所述目标容器镜像仓库中对应的所述注册表目录;将所述数据信息从所述目标存储介质导入至所述数据库。
18.这样,将镜像数据复制至注册表目录,将数据信息导入至数据库可以实现将待迁移的镜像迁移至目标容器镜像仓库的对应存储位置。
19.在一些实施例中,所述目标容器镜像仓库还包括本地数据卷,所述将所述镜像数据从所述目标存储介质复制至所述目标容器镜像仓库中对应的所述注册表目录,包括:将所述镜像数据从所述目标存储介质复制至所述本地数据卷;部署存储于所述本地数据卷中的所述镜像数据至所述目标容器镜像仓库中对应的所述注册表目录。
20.这样,可以利用本地数据卷实现将镜像数据部署至目标容器镜像仓库的注册表目录。
21.在一些实施例中,所述目标存储介质中的数据为从源容器镜像仓库获取的镜像数据压缩包,其中,所述镜像数据压缩包为压缩所述待迁移的完整的镜像数据和所述镜像数据的数据信息得到的;所述将所述镜像数据和所述镜像数据的数据信息从所述目标存储介质复制至目标容器镜像仓库,包括:将所述镜像数据压缩包从所述目标存储介质复制至所述目标容器镜像仓库;在所述目标容器镜像仓库中解压所述镜像数据压缩包,得到所述镜像数据和所述数据信息。
22.这样,在镜像数据较大的情况下,可以有效提升传输效率。
23.在一些实施例中,所述重启所述目标容器镜像仓库,以完成所述源容器镜像仓库的迁移,包括:重启所述目标容器镜像仓库;基于所述数据信息在所述目标容器镜像仓库中重建所述镜像数据,以完成所述源容器镜像仓库的迁移。
24.这样,可以在重启目标容器镜像仓库的情况下,基于数据信息在目标容器镜像仓库中重建所述镜像数据,实现源容器镜像仓库的迁移。
25.第二方面,本技术实施例提供一种容器镜像迁移装置,所述装置包括:
26.删除模块,用于在确定对源容器镜像仓库进行容器镜像迁移的情况下,删除目标容器镜像仓库启动过程中产生的数据库元数据;
27.确定模块,用于确定目标存储介质,其中,所述目标存储介质中的数据包括从所述源容器镜像仓库获取的将待迁移的完整的镜像数据和所述镜像数据的数据信息,其中,所述镜像数据包括至少两层数据,所述数据信息用于表征所述至少两层数据之间的关联信息;
28.复制模块,用于将所述镜像数据和所述镜像数据的数据信息从所述目标存储介质复制至所述目标容器镜像仓库的对应存储位置;
29.重启模块,用于重启所述目标容器镜像仓库,以完成所述源容器镜像仓库的迁移。
30.第三方面,本技术实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
31.第四方面,本技术实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现上述方法。
32.本技术实施例中,首先确定对源容器镜像仓库进行容器镜像迁移的情况下,删除目标容器镜像仓库启动过程中产生的数据库元数据,并确定目标存储介质;然后将镜像数据和数据信息从目标存储介质复制至目标容器镜像仓库的对应存储位置;最后重启目标容器镜像仓库,以完成源容器镜像仓库的迁移。这样,将镜像数据和数据信息整体迁移,且利用目标存储介质完成的容器镜像迁移,有效提升harbor迁移效率和迁移成功率;增加将所述数据信息复制至目标容器镜像仓库的对应存储位置,可以在重建harbor时,节省重建harbor时间,有效提升重建效率和成功率。
附图说明
33.图1为本技术实施例提供的一种容器镜像迁移方法的实现流程示意图;
34.图2为本技术实施例提供的一种容器镜像迁移方法的实现流程示意图;
35.图3为本技术实施例提供的一种harbor系统结构示意图;
36.图4为本技术实施例提供的镜像迁移流程图;
37.图5为本技术实施例提供的一种容器镜像迁移装置的组成结构示意图;
38.图6为本技术实施例提供的电子设备的一种硬件实体示意图。
具体实施方式
39.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对申请实施例的具体技术方案做进一步详细描述。以下实施例用于说明本技术,但不用来限制本技术的范围。
40.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
41.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
42.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
43.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
44.harbor:是为企业用户设计的容器镜像仓库开源项目,包括了权限管理(rbac)、ldap、审计、安全漏洞扫描、镜像验真、管理界面、自我注册、ha等企业必需的功能。
45.镜像:一个文件系统,提供了容器运行时需要用到的文件和参数配置。相当于平时在使用某个软件时需要下载的安装包,也相当于安装操作系统时需要用到iso文件。
46.docker:是一个开源的应用容器引擎,让开发者可以打包应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的linux或windows操作系统的机器上,也可以实现虚拟化。
47.postgresql,是一种特性非常齐全的自由软件的对象-关系型数据库管理系统。
48.u盘,是usb(usb flash disk)盘的简称。u盘是闪存的一种,故有时也称作闪盘。u盘与硬盘的最大不同是,u盘不需物理驱动器,即插即用,且其存储容量远超过软盘,极便于携带。
49.图1为本技术实施例提供一种容器镜像迁移方法,如图1所示,该方法包括:
50.步骤s110、在确定对源容器镜像仓库进行容器镜像迁移的情况下,删除目标容器镜像仓库启动过程中产生的数据库元数据;
51.这里,确定需要将源harbor迁移至目标harbor的情况下,目标harbor在重启之前是要删除redis缓存数据的。在实施过程中,步骤s110在步骤s140之前执行,即执行步骤s110可以步骤s130之前也可以在步骤s130之后。
52.删除目标harbor中的数据库元数据(redis)中缓存数据的原因是,harbor中redis组件作用之一是给注册表(registry)组件做缓存层,提高读取镜像清单性能。当目标存储介质复制镜像数据和数据信息到目标harbor后,镜像信息改变了,不删除目标harbor中的数据库元数据会导致冲突,迁移达不到效果。这里,registry是镜像仓库,主要负责存储镜像,docker拉取、推送镜像。
53.删除目标harbor中的数据库元数据还可以有效增加缓存空间,提升目标容器镜像仓库的工作效率。
54.步骤s120、确定目标存储介质,其中,所述目标存储介质中的数据包括从所述源容器镜像仓库获取的将待迁移的完整的镜像数据和所述镜像数据的数据信息,其中,所述镜像数据包括至少两层数据,所述数据信息用于表征所述至少两层数据之间的关联信息;
55.这里,将待迁移的镜像数据和所述镜像数据的数据信息可以是存储于源harbor中。
56.镜像数据可以指存储于待迁移的harbor中registry目录所有文件,此目录下文件用于存储镜像层(layer)的数据和信息。
57.这里,数据信息至少包括:镜像名称、id、tag、大小、创建时间,更新时间,所属项目,描述、镜像层layer关系等等关联关系。其中,数据信息中镜像layer关系,即每个镜像是由哪些layer组成。镜像数据包括至少两层数据,数据信息表征所述至少两层数据之间的关联信息。
58.在一些实施例中,所述数据信息在所述源容器镜像仓库中基于所述待迁移的完整的镜像数据建立的。
59.这里,镜像数据的数据信息可以指从待迁移的harbor数据库harbor-db中导出的数据关系表。该数据关系表包括了每个镜像对应镜像名、tag、具体的layer数据关联信息等等。
60.在所述源容器镜像仓库中基于所述待迁移的完整的镜像数据建立数据信息,举例来说,harbor-db可以是使用postgresql数据库,该数据库中至少存储postgresql中registry库中artifact表、artifact_blob表、artifact_reference表、blob表、repository表、tag表。导出以上6个表的数据,可以在源容器镜像仓库中合成一个sql文件(即数据信息),源容器镜像仓库将该sql文件复制到目标存储介质。如果是使用其他数据库,类似将镜像数据信息关联的表导出即可。
61.从源容器镜像仓库获取的将待迁移的完整的镜像数据和所述镜像数据的数据信息,可以通过以下步骤实现:
62.步骤a、复制源容器镜像仓库中注册表目录下的所有文件至所述目标存储介质;
63.这里,由于镜像数据存储在源容器镜像仓库中注册表目录下,所以需要复制源容器镜像仓库中注册表目录下的所有文件至所述目标存储介质,即完成了待迁移的镜像数据复制至目标存储介质。
64.步骤b、将所述数据信息从所述源容器镜像仓库的数据库中导出至所述目标存储介质。
65.这里,由于数据信息存储于源容器镜像仓库的数据库中,所以需要将数据信息从源容器镜像仓库的数据库中导出至目标存储介质。
66.在实施过程中,步骤a和步骤b可以同时执行,也可以先执行步骤a再执行步骤b,还可以先执行步骤b再执行步骤a,对以上两个步骤的执行顺序不做限定。
67.在一些实施例中,所述目标存储介质包括以下至少之一:移动存储介质、本地存储介质和网络存储空间。这样,在镜像迁移的过程中,使用移动存储介质或本地存储介质,可以不受制于网络的影响。网络存储空间中的数据包括从源容器镜像仓库获取的将待迁移的完整的镜像数据和所述镜像数据的数据信息,这样,将镜像数据和数据信息整体迁移,可以提升迁移效率和迁移成功率。
68.在一些实施例中,从源harbor复制到目标存储介质的镜像数据和数据信息可以操作一次,之后可以多次使用,迁移到多个目标harbor。
69.步骤s130、将所述镜像数据和所述镜像数据的数据信息从所述目标存储介质复制至所述目标容器镜像仓库的对应存储位置;
70.在实施过程中,在确定需要将待迁移的镜像数据迁移至目标容器镜像仓库的情况下,可以将存储于目标存储介质中的所述镜像数据和所述数据信息复制至目标容器镜像仓库的对应存储位置,以提升重建harbor的效率。
71.步骤s140、重启所述目标容器镜像仓库,以完成所述源容器镜像仓库的迁移。
72.这里,对目标容器镜像仓库重启,将镜像数据迁移至目标容器镜像仓库。
73.本技术实施例中,首先确定对源容器镜像仓库进行容器镜像迁移的情况下,删除目标容器镜像仓库启动过程中产生的数据库元数据,并确定目标存储介质;然后将镜像数据和数据信息从目标存储介质复制至目标容器镜像仓库的对应存储位置;最后重启目标容器镜像仓库,以完成源容器镜像仓库的迁移。这样,将镜像数据和数据信息整体迁移,且利用目标存储介质完成的容器镜像迁移,有效提升harbor迁移效率和迁移成功率;增加将数据信息复制至目标容器镜像仓库的对应存储位置,可以在重建harbor时,节省重建harbor时间,有效提升重建效率和成功率。
74.在一些实施例中,所述目标容器镜像仓库包括注册表目录和数据库,以上步骤s130“将所述镜像数据和所述镜像数据的数据信息从所述目标存储介质复制至所述目标容器镜像仓库的对应存储位置”可以通过以下步骤实现:
75.步骤131、将所述镜像数据从所述目标存储介质复制至所述目标容器镜像仓库中对应的所述注册表目录;
76.在实施过程中,可以将待迁移的harbor镜像数据复制至目标harbor服务器下对应
registry目录。这样,目标harbor存储了所有的镜像底层数据。
77.步骤132、将所述数据信息从所述目标存储介质导入至所述数据库。
78.在实施过程中,可以将数据信息导入至目标harbor,因为即使是有镜像底层数据,没有数据信息,目标harbor无法确定镜像名对应的数据层关系。
79.在实施过程中,步骤131和步骤132可以同时执行,也可以先执行步骤131再执行步骤132,还可以先执行步骤132再执行步骤131,对以上两个步骤的执行顺序不做限定。
80.本技术实施例中,首先将镜像数据从目标存储介质复制至目标容器镜像仓库中对应的注册表目录;然后将数据信息从目标存储介质导入至数据库。这样,将镜像数据复制至注册表目录,将数据信息导入至数据库可以实现将待迁移的镜像迁移至目标容器镜像仓库的对应存储位置。
81.在一些实施例中,所述目标容器镜像仓库还包括本地数据卷,以上步骤131“将所述镜像数据从所述目标存储介质复制至所述目标容器镜像仓库中对应的所述注册表目录”可以通过以下步骤实现:
82.步骤1311、将所述镜像数据从所述目标存储介质复制至所述本地数据卷;
83.本地数据卷(local volume),代表一个本地存储设备,比如磁盘、分区或者目录等。应用场景包括分布式存储和数据库等需要高性能和高可靠性的环境里。可以用于存储镜像数据。
84.在实施过程中,可以先将镜像数据从目标存储介质复制至本地数据卷。
85.步骤1312、部署存储于所述本地数据卷中的所述镜像数据至所述目标容器镜像仓库中对应的所述注册表目录。
86.在实施过程中,可以将待迁移的harbor镜像数据从本地数据卷导入至目标harbor服务器下对应registry目录。这样,目标harbor存储了所有的镜像底层数据。
87.本技术实施例中,首先将镜像数据从目标存储介质复制至本地数据卷;然后部署存储于本地数据卷中的镜像数据至目标容器镜像仓库中对应的注册表目录。这样,可以利用本地数据实现将镜像数据部署至目标容器镜像仓库的注册表目录。
88.在一些实施例中,所述目标存储介质中的数据为从源容器镜像仓库获取的镜像数据压缩包,其中,所述镜像数据压缩包为压缩所述待迁移的完整的镜像数据和所述镜像数据的数据信息得到的。
89.图2为本技术实施例提供一种容器镜像迁移方法,如图2所示,该方法包括:
90.步骤s210、在源容器镜像仓库中压缩所述镜像数据和所述镜像数据的数据信息,得到镜像数据压缩包;
91.步骤s220、将所述镜像数据压缩包存储至目标存储介质;
92.在实施过程中,该压缩步骤可以在源容器镜像仓库中实现,这样,在镜像数据较大的情况下,可以有效提升传输效率。
93.步骤s230、将所述镜像数据压缩包从所述目标存储介质复制至目标容器镜像仓库;
94.步骤s240、在所述目标容器镜像仓库中解压所述镜像数据压缩包,得到所述镜像数据和所述数据信息;
95.步骤s250、删除所述目标容器镜像仓库启动过程中产生的数据库元数据;
96.步骤s260、重启所述目标容器镜像仓库,以完成所述容器镜像迁移。
97.本技术实施例中,首先在源容器镜像仓库中压缩镜像数据和镜像数据的数据信息,得到镜像数据压缩包;将镜像数据压缩包存储至目标存储介质;然后将镜像数据压缩包从目标存储介质复制至目标容器镜像仓库;在目标容器镜像仓库中解压镜像数据压缩包,得到镜像数据和数据信息;最后,删除目标容器镜像仓库启动过程中产生的数据库元数据;重启目标容器镜像仓库,以完成容器镜像迁移。这样,在传输过程中使用镜像数据压缩包,可以有效提升传输效率。
98.在一些实施例中,以上步骤s140“重启所述目标容器镜像仓库,以完成所述容器镜像迁移”可以通过以下步骤实现:
99.步骤141、重启所述目标容器镜像仓库;
100.步骤142、基于所述数据信息在所述目标容器镜像仓库中重建所述镜像数据,以完成所述源容器镜像仓库的迁移。
101.本技术实施例中,可以在重启目标容器镜像仓库的情况下,基于数据信息在目标容器镜像仓库中重建镜像数据,实现源容器镜像仓库的迁移。
102.图3为本技术实施例提供的一种harbor系统结构示意图,如图3所示,该harbor系统包括:nginx31、注册表(registry)32、作业服务(job services)33、核心服务(core service)34、缓存(redis)35、数据库(db)36和本地数据卷(local volume)37,其中,
103.nginx31,是一个高性能的http和反向代理web服务器。
104.注册表32,用于存储系统和应用程序的设置信息。
105.作业服务(job services)33,用于发起job任务,与远程另一harbor服务器交互,推送镜像或者复制拉取镜像。
106.核心服务(core service)34,包括用户界面(user interface designer,ui)、应用程序界面(application program interface,api)和认证(auth)。
107.缓存(redis)35,用于存储缓存信息。
108.数据库(db)36,用于存储项目的元数据、用户、规则、复制策略等信息。
109.本地数据卷37,代表一个本地存储设备,比如磁盘、分区或者目录等,用于存储镜像数据。
110.如图3所示,方式一即现有方案一,需要用户手动对每个镜像retag,通过网络经过harbor中nginx31、核心服务(core service)34等等组件,最终落库。方式二即现有方案二,是harbor服务器发起通过作业服务(job service)33组件发起一个job任务,与远程另一harbor服务器交互,推送镜像或者复制拉取镜像。
111.方式三即本技术实施例提供的方案。已知镜像是layer数据一层一层存储在local volume。这样,无论从是拉取还是推送获得的镜像,该镜像的layer都是一样的,即local volume中的数据是一样的。直接复制拷贝底层的镜像数据,就相当于获取了所有镜像的数据。只获取底层数据是不能完成迁移的,需要把每次layer关联起来。harbor中可以使用数据库,通常是postgresql,用于保存镜像的关系信息表,镜像的拉取推送时间,镜像名,每层layer的关系等等。所以还需要将其db的数据关系表保存下来。这些操作都可以离线完成,不依赖网络,且使用存储介质(硬盘,u盘等移动存储介质)。直接迁移到需要拷贝的harbor服务器即可。
112.图4为本技术实施例提供的一种镜像迁移流程图,如图4所示,该流程图包括以下步骤:
113.步骤s410、拷贝待迁移的harbor镜像数据;
114.在实施过程中,拷贝待迁移的harbor目录下的registry目录所有文件,此目录下文件用于存储镜像layer的数据和信息。
115.步骤s420、导出待迁移的harbor镜像数据的数据关系表;
116.在实施过程中,可以从待迁移的harbor db导出数据库信息表(数据关系表)。该数据库信息表关联了每个镜像对应镜像名、tag、具体的layer数据关联等等。
117.步骤s430、将镜像数据部署至目标harbor服务器;
118.在实施过程中,可以将待迁移的harbor镜像数据复制至目标harbor服务器下对应registry目录。这样,目标harbor存储了所有的镜像底层数据。
119.步骤s440、导入数据关系表;
120.在实施过程中,可以将数据关系表导入至目标harbor,因为即使是有镜像底层数据,没有数据关系表,目标harbor无法确定镜像名对应的数据层关系。
121.步骤s450、删除目标harbor服务器中的缓存元数据;
122.步骤s460、重启harbor。
123.本技术实施例中,除正常迁移镜像场景外,可在网络状况糟糕,私网,甚至不需要网络迁移所有harbor中的镜像。特别是镜像过多,镜像大小总和过大场景下,具有迁移时间快的绝对优势。使用拷贝镜像底层元文件,提供一种迁移harbor镜像方式,不需要依赖其他harbor服务器和网络传输。测试迁移底层数据共10g大小镜像,拷贝镜像底层元文件迁移镜像的耗时是harbor复制功能的1/4,retag方式的1/10。且数据越大时,优势越明显。
124.基于前述的实施例,本技术实施例提供一种容器镜像迁移装置,该装置包括所包括的各模块,各模块包括各子模块,各子模块包括单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(central processing unit,cpu)、微处理器(microprocessor unit,mpu)、数字信号处理器(digital signal process,dsp)或现场可编程门阵列(field programmable gate array,fpga)等。
125.图5为本技术实施例提供的容器镜像迁移装置的组成结构示意图,如图5所示,所述装置500包括:
126.删除模块510,用于在确定对源容器镜像仓库进行容器镜像迁移的情况下,删除目标容器镜像仓库启动过程中产生的数据库元数据;
127.确定模块520,用于确定目标存储介质,其中,所述目标存储介质中的数据包括从所述源容器镜像仓库获取的将待迁移的完整的镜像数据和所述镜像数据的数据信息,其中,所述镜像数据包括至少两层数据,所述数据信息用于表征所述至少两层数据之间的关联信息;
128.复制模块530,用于将所述镜像数据和所述镜像数据的数据信息从所述目标存储介质复制至所述目标容器镜像仓库的对应存储位置;
129.重启模块540,用于重启所述目标容器镜像仓库,以完成所述源容器镜像仓库的迁移。
130.在一些实施例中,所述目标存储介质为目标存储介质为可移动存储介质。
131.在一些实施例中,所述数据信息在所述源容器镜像仓库中基于所述待迁移的完整的镜像数据建立的。
132.在一些实施例中,所述目标容器镜像仓库包括注册表目录和数据库,所述复制模块530包括第一复制子模块和导入子模块,其中,所述第一复制子模块,用于将所述镜像数据从所述目标存储介质复制至所述目标容器镜像仓库中对应的所述注册表目录;所述导入子模块,用于将所述数据信息从所述目标存储介质导入至所述数据库。
133.在一些实施例中,所述目标容器镜像仓库还包括本地数据卷,所述第一复制子模块包括复制单元和部署单元,其中,所述复制单元,用于将所述镜像数据从所述目标存储介质复制至所述本地数据卷;所述部署单元,用于部署存储于所述本地数据卷中的所述镜像数据至所述目标容器镜像仓库中对应的所述注册表目录。
134.在一些实施例中,所述目标存储介质中的数据为从所述源容器镜像仓库获取的镜像数据压缩包,其中,所述镜像数据压缩包为压缩所述待迁移的完整的镜像数据和所述镜像数据的数据信息得到的。
135.所述复制模块530包括第二复制子模块和解压缩子模块,其中,所述第二复制子模块,用于将所述镜像数据压缩包从所述目标存储介质复制至所述目标容器镜像仓库;所述解压缩子模块,用于在所述目标容器镜像仓库中解压所述镜像数据压缩包,得到所述镜像数据和所述数据信息。
136.在一些实施例中,所述重启模块540包括重启子模块和重建子模块,其中,所述重启子模块,用于重启所述目标容器镜像仓库;所述重建子模块,用于基于所述数据信息在所述目标容器镜像仓库中重建所述镜像数据,以完成所述源容器镜像仓库的迁移。
137.以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
138.需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、笔记本电脑、台式计算机等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
139.对应地,本技术实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的容器镜像迁移方法中的步骤。
140.对应地,本技术实施例提供一种电子设备,图6为本技术实施例提供的电子设备的一种硬件实体示意图,如图6所示,该设备600的硬件实体包括:包括存储器601和处理器602,所述存储器601存储有可在处理器602上运行的计算机程序,所述处理器602执行所述程序时实现上述实施例中提供的容器镜像迁移方法中的步骤。
141.存储器601配置为存储由处理器602可执行的指令和应用,还可以缓存待处理器
602以及电子设备600中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。
142.这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质和设备实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
143.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
144.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
145.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
146.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
147.另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
148.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
149.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、笔记本电脑、台式计算机等)执行本技术各个实施例所述方法的全部或部分。而
前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
150.本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
151.本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
152.本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
153.以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献