多层镜像的管理方法
【专利摘要】本发明公开了一种多层镜像的管理方法和系统,所述方法包括:将至少一个代码文件打包生成至少一个代码镜像文件;基于预先打包生成的系统镜像文件和工具镜像文件,创建每个所述代码镜像文件与所述工具镜像文件之间的继承关系,使得每个所述代码镜像文件继承该工具镜像文件;其中,所述工具镜像文件继承系统镜像文件。本发明通过预先将操作系统、业务工具分别打包生成系统镜像文件和工具镜像文件,后续只需要对代码进行打包生成代码镜像文件即可,节省了镜像制作时间;由于系统镜像文件、工具镜像文件与代码镜像文件之间存在继承关系,用户在上传或者下载时,只需要对代码镜像文件进行上传或下载即可,提高了用户体验。
【专利说明】多层镜像的管理方法
[0001 ]方法领域
[0002]本发明涉及docker容器镜像技术领域,尤其涉及一种多层镜像的管理方法。
【背景技术】
[0003]现有技术中,在创建镜像文件时,通常是将操作系统、业务工具(代码依赖的环境)和代码打包形成一个镜像文件,镜像文件制作完成后,需要将该镜像文件保存到镜像仓库,若某个服务器想使用镜像文件创建docker容器,则需要从镜像仓库中下载镜像文件。
[0004]传统的镜像管理方法存在如下缺陷:
[0005]1.由于镜像文件的内容太多(包括操作系统、业务工具(代码依赖的环境)和代码),导致镜像文件制作时间长;
[0006]2.由于镜像文件的容量很大,在将镜像文件push到镜像仓库以及从镜像仓库pull镜像文件时,导致耗时长。
[0007]3.镜像文件大,维护麻烦;
[0008]4.在出现故障时,故障排查困难。
【发明内容】
[0009]本发明的目的是提供一种多层镜像的构建方法,来实现镜像文件制作、上传和下载效率。
[0010]根据本发明的一个方面,提供了一种多层镜像的管理方法,所述方法包括:将至少一个代码文件打包生成至少一个代码镜像文件;基于预先打包生成的系统镜像文件和工具镜像文件,创建每一个所述代码镜像文件与所述工具镜像文件的继承关系,使得每一个所述代码镜像文件继承该工具镜像文件;其中,所述工具镜像文件继承系统镜像文件。
[0011]其中,在所述生成代码镜像文件的步骤之前,将操作系统、业务工具分别打包生成系统镜像文件和工具镜像文件;在所述系统镜像文件与工具镜像文件之间创建继承关系,使得所述工具镜像文件继承系统镜像文件,其中,业务工具为代码依赖的环境。
[0012]其中,当向镜像仓库上传镜像文件时,将所述至少一个代码镜像文件上传到镜像仓库。
[0013]其中,在所述将至少一个代码镜像文件上传到镜像仓库的步骤之前,还包括:预先将系统镜像文件和工具镜像文件上传到镜像仓库。
[0014]其中,当下载镜像文件时,将所述至少一个代码镜像文件下载到本地。
[0015]其中,在所述将所述至少一个代码镜像文件下载到本地的步骤之前,还包括:预先将系统镜像文件和工具镜像文件下载到本地。
[0016]根据本发明的另一个方面,提供了一种多层镜像的管理系统,所述系统包括:代码镜像生成模块,用于将至少一个代码文件打包生成至少一个代码镜像文件;继承关系创建模块,用于基于预先打包生成的系统镜像文件和工具镜像文件,创建每一个所述代码镜像文件与所述工具镜像文件的继承关系,使得每一个所述代码镜像文件继承该工具镜像文件;所述工具镜像文件继承系统镜像文件。
[0017]其中,所述系统还包括:系统镜像生成模块和工具镜像生成模块;系统镜像生成模块,用于在生成代码镜像文件之前,将操作系统打包生成系统镜像文件;工具镜像生成模块,用于在生成代码镜像文件之前,将业务工具打包生成工具镜像文件;所述继承关系创建模块还用于在所述系统镜像文件与工具镜像文件之间创建继承关系,使得所述工具镜像文件继承系统镜像文件,其中,业务工具为代码依赖的环境。
[0018]其中,所述系统还包括:镜像上传模块,用于当向镜像仓库上传镜像文件时,将所述至少一个代码镜像文件上传到镜像仓库。
[0019]其中,在镜像上传模块将所述至少一个代码镜像文件上传到镜像仓库之前,镜像上传模块预先将系统镜像文件和工具镜像文件上传到镜像仓库。
[0020]其中,所述系统还包括:镜像下载模块,用于当下载镜像文件时,将所述至少一个代码镜像文件下载到本地。
[0021]其中,在镜像下载模块将所述至少一个代码镜像文件下载到本地之前,镜像下载模块预先将系统镜像文件和工具镜像文件下载到本地。
[0022]本发明通过预先将操作系统、将业务工具打包生成系统镜像文件和工具镜像文件,用户或者应用服务提供商只需要对代码进行打包生成代码镜像文件即可,节省了镜像文件的制作时间;由于系统镜像文件、工具镜像文件与代码镜像文件之间存在继承关系,用户在上传或者下载镜像文件时,只需要对代码镜像文件进行上传或下载即可,节省了上传和下载镜像文件的制作时间,提高了用户体验。在出现故障时,只需要对代码镜像文件进行故障排查即可,节省了故障排查时间,并降低了故障排查困难度。
【附图说明】
[0023]图1是根据本发明的多层镜像的管理方法的流程示意图;
[0024]图2是根据本发明的一实施方式的流程示意图;
[0025]图3是根据本发明的多层镜像的管理系统的结构示意图。
【具体实施方式】
[0026]为使本发明的目的、方法方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和方法的描述,以避免不必要地混淆本发明的概念。
[0027]本发明中,通常情况下,应用服务提供商会预先将某些应用服务打包生成镜像文件,并将预先制作完成的镜像文件上传到云端,当用户需要镜像文件时,只需要从云端下载即可。
[0028]现有技术中,在制作镜像文件时,会将操作系统、业务工具和代码打包成一个镜像文件,导致镜像文件制作时间长,耗时长;在向云端上传和下载镜像文件时,导致镜像文件上传和下载时间长。并且,在出现故障时,不易进行故障排查,增加了故障排查时间,并增加了故障排查困难度。
[0029]图1是根据本发明的多层镜像的管理方法的流程示意图。
[0030]如图1所示,本发明的多层镜像的管理方法,所述方法包括如下步骤:
[0031]步骤S10,将至少一个代码文件打包生成至少一个代码镜像文件。
[0032]本步骤中,在制作代码镜像文件时,将一个或一个以上的代码文件一对一打包生成一个或一个以上的代码镜像文件。
[0033]步骤S20,基于预先打包生成的系统镜像文件和工具镜像文件,创建每一个所述代码镜像文件与所述工具镜像文件的继承关系,使得每一个所述代码镜像文件继承该工具镜像文件;其中,所述工具镜像文件继承系统镜像文件。
[0034]本步骤中,基于预先打包好的系统镜像文件和工具镜像文件,创建每一个代码镜像文件与所述工具镜像文件的继承关系,使得所述至少一个代码镜像文件同时继承所述工具镜像文件。其中,所述工具镜像文件继承系统镜像文件,所述业务工具为代码依赖的环境。
[0035]图2是根据本发明的一实施方式的流程示意图。
[0036]如图2所示,在所述将至少一个代码文件打包生成至少一个代码镜像文件的步骤之前,还包括:
[0037]步骤S100,将操作系统、业务工具分别打包生成系统镜像文件和工具镜像文件。
[0038]本步骤中,将操作系统、业务工具分别打包形成系统镜像文件和工具镜像文件。
[0039]本步骤中,将操作系统、业务工具分别打包形成系统镜像文件和工具镜像文件的执行顺序不唯一,可以同时执行也可以先后执行。
[0040]本发明通过预先将操作系统、将业务工具打包生成系统镜像文件和工具镜像文件,在后续过程中,用户或者应用服务提供商只需要对代码进行打包生成代码镜像文件即可,节省了镜像文件的制作时间。
[0041]步骤S200,创建所述系统镜像文件与工具镜像文件之间的继承关系,使得所述工具镜像文件继承系统镜像文件。
[0042]本步骤中,在系统镜像文件和工具镜像文件打包完成后,创建所述系统镜像文件与工具镜像文件之间的继承关系,使得所述工具镜像文件继承系统镜像文件。
[0043]其中,在向镜像仓库上传镜像文件时,将所述至少一个代码镜像文件上传到镜像仓库。
[0044]其中,在所述将至少一个代码镜像文件上传到镜像仓库的步骤之前,还包括:预先将系统镜像文件和工具镜像文件上传到镜像仓库。
[0045]其中,在下载镜像文件时,将所述至少一个代码镜像文件下载到本地。
[0046]其中,在所述将所述至少一个代码镜像文件下载到本地的步骤之前,还包括:预先将系统镜像文件和工具镜像文件下载到本地。
[0047]现有技术中,由于操作系统、业务工具和代码打包成一个镜像文件,在上传和下载时,耗时长。本发明通过系统镜像文件和工具镜像文件之间的继承关系以及工具镜像文件与代码镜像文件之间的继承关系,在后续上传或者下载镜像文件的过程中,只需要对代码镜像文件进行上传和下载即可,减少了镜像文件的上传和下载时间,能够提高用户体验。
[0048]如上所述,详细介绍了本发明的多层镜像的管理方法,本发明通过预先将操作系统、将业务工具打包生成系统镜像文件和工具镜像文件,用户或者应用服务提供商只需要对代码进行打包生成代码镜像文件即可,节省了镜像文件的制作时间;由于系统镜像文件、工具镜像文件与代码镜像文件之间存在继承关系,用户在上传或者下载镜像文件时,只需要对代码镜像文件进行上传或下载即可,节省了上传和下载镜像文件的制作时间,提高了用户体验。在出现故障时,只需要对代码镜像文件进行故障排查即可,节省了故障排查时间,并降低了故障排查困难度。
[0049]图3是根据本发明的多层镜像的管理系统的结构示意图。
[0050]如图3所示,本发明的多层镜像的管理系统包括:代码镜像生成模块10和继承关系创建模块20。
[0051]代码镜像生成模块10用于将至少一个代码文件打包生成至少一个代码镜像文件。
[0052]该模块的具体描述参见前述步骤SlO。
[0053]继承关系创建模块20与所述代码镜像生成模块10连接,用于基于预先打包生成的一系统镜像文件和一工具镜像文件,创建每个所述代码镜像文件创建继承关系,使得每个所述代码镜像文件继承该工具镜像文件。其中,所述工具镜像文件继承系统镜像文件。
[0054]该模块的具体描述参见前述步骤S20。
[0055]进一步,所述系统还包括:系统镜像生成模块30和工具镜像生成模块40。
[0056]系统镜像生成模块30与所述继承关系创建模块20连接,用于在生成代码镜像文件之前,将操作系统打包生成系统镜像文件。
[0057]该模块的具体描述参见前述步骤SlOO。
[0058]工具镜像生成模块40与所述继承关系创建模块20连接,用于在生成代码镜像文件之前,将业务工具打包生成工具镜像文件,其中,业务工具为代码依赖的环境。
[0059]该模块的具体描述参见前述步骤SlOO。
[0060]所述继承关系创建模块20还用于在所述系统镜像文件与工具镜像文件之间创建继承关系,使得所述工具镜像文件继承系统镜像文件。
[0061 ]该模块的具体描述参见前述步骤S200。
[0062]进一步,所述系统还包括:
[0063]镜像上传模块50与所述代码镜像生成模块10连接,用于在向镜像仓库上传系统镜像文件、工具镜像文件和代码镜像文件时,将所述至少一个代码镜像文件上传到镜像仓库。
[0064]镜像上传模块50还分别与系统镜像生成模块30、工具镜像生成模块40连接,用于在镜像上传模块50将所述至少一个代码镜像文件上传到镜像仓库之前,还用于预先将系统镜像文件和工具镜像文件上传到镜像仓库。
[0065]进一步,所述系统还包括:
[0066]镜像下载模块60,用于在下载镜像文件时,将所述至少一个代码镜像文件下载到本地。
[0067]其中,在镜像下载模块60将所述至少一个代码镜像文件下载到本地之前,镜像下载模块60预先将系统镜像文件和工具镜像文件下载到本地。
[0068]如上所述,详细介绍了本发明的多层镜像的管理系统,本发明通过预先将操作系统、将业务工具打包生成系统镜像文件和工具镜像文件,用户或者应用服务提供商只需要对代码进行打包生成代码镜像文件即可,节省了镜像文件的制作时间;由于系统镜像文件、工具镜像文件与代码镜像文件之间存在继承关系,用户在上传或者下载镜像文件时,只需要对代码镜像文件进行上传或下载即可,节省了上传和下载镜像文件的制作时间,提高了用户体验。在出现故障时,只需要对代码镜像文件进行故障排查即可,节省了故障排查时间,并降低了故障排查困难度。
[0069]应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
【主权项】
1.一种多层镜像的管理方法,其特征在于,所述方法包括: 将至少一个代码文件打包生成至少一个代码镜像文件; 基于预先打包生成的系统镜像文件和工具镜像文件,创建每一个所述代码镜像文件与所述工具镜像文件之间的继承关系,使得每一个所述代码镜像文件继承该工具镜像文件;其中,所述工具镜像文件继承系统镜像文件。2.根据权利要求1所述的管理方法,其中,在所述生成代码镜像文件的步骤之前,还包括: 将操作系统、业务工具分别打包生成系统镜像文件和工具镜像文件; 创建所述系统镜像文件与工具镜像文件之间的继承关系,使得所述工具镜像文件继承系统镜像文件; 其中,所述业务工具为代码依赖的环境。3.根据权利要求1-2任一项所述的管理方法,其中,当向镜像仓库上传镜像文件时,将所述至少一个代码镜像文件上传到镜像仓库。4.根据权利要求3所述的管理方法,其中,在所述将至少一个代码镜像文件上传到镜像仓库的步骤之前,还包括:预先将系统镜像文件和工具镜像文件上传到镜像仓库。5.根据权利要求1-2任一项所述的管理方法,其中,当下载镜像文件时,将所述至少一个代码镜像文件下载到本地。6.根据权利要求5所述的管理方法,其中,在所述将所述至少一个代码镜像文件下载到本地的步骤之前,还包括:预先将系统镜像文件和工具镜像文件下载到本地。7.一种多层镜像的管理系统,其特征在于,所述系统包括: 代码镜像生成模块(10),用于将至少一个代码文件打包生成至少一个代码镜像文件;继承关系创建模块(20),用于基于预先打包生成的系统镜像文件和工具镜像文件,创建每一个所述代码镜像文件与所述工具镜像文件之间的继承关系,使得每一个所述代码镜像文件继承该工具镜像文件; 其中,所述工具镜像文件继承系统镜像文件。8.根据权利要求7所述的管理系统,其中,所述系统还包括: 系统镜像生成模块(30),用于在生成代码镜像文件之前,将操作系统打包生成系统镜像文件; 工具镜像生成模块(40),用于在生成代码镜像文件之前,将业务工具打包生成工具镜像文件;其中,业务工具为代码依赖的环境; 所述继承关系创建模块(20)还用于创建所述系统镜像文件与工具镜像文件之间的继承关系,使得所述工具镜像文件继承系统镜像文件。9.根据权利要求7-8任一项所述的管理系统,其中,所述系统还包括: 镜像上传模块(50),用于当向镜像仓库上传镜像文件时,将所述至少一个代码镜像文件上传到镜像仓库。10.根据权利要求9所述的管理系统,其中,在镜像上传模块(50)将所述至少一个代码镜像文件上传到镜像仓库之前,镜像上传模块(50)预先将系统镜像文件和工具镜像文件上传到镜像仓库。11.根据权利要求7-8任一项所述的管理系统,其中,所述系统还包括: 镜像下载模块(60),用于当下载镜像文件时,将所述至少一个代码镜像文件下载到本地。12.根据权利要求11所述的管理系统,其中, 在镜像下载模块(60)将所述至少一个代码镜像文件下载到本地之前,镜像下载模块(60)预先将系统镜像文件和工具镜像文件下载到本地。
【文档编号】G06F9/44GK105930230SQ201610244793
【公开日】2016年9月7日
【申请日】2016年4月18日
【发明人】张增
【申请人】乐视控股(北京)有限公司, 乐视云计算有限公司