容器镜像的管理、使用及构建方法、装置制造方法及图纸

技术编号:21183878 阅读:42 留言:0更新日期:2019-05-22 14:48
本发明专利技术公开了容器镜像的管理、使用及构建方法、装置,其中该管理方法包括:获取容器镜像的标识;根据容器镜像的标识获取从预定初始容器镜像至容器镜像所执行的历史操作指令对应的第一指令集合;当接收到容器镜像的获取请求时,反馈预定初始容器镜像和第一指令集合。通过本发明专利技术,容器镜像只在初始容器镜像的基础上根据情况叠加一层或几层并写入第一指令集合中的指令便可以得到,而不会随着历史操作次数的增多导致在初始容器镜像的基础上所叠加的层数越来越多,因此,能够使得容器镜像的结构较为精简,减小容器镜像大小。

Management, Use and Construction of Vessel Mirror

The invention discloses a method and device for managing, using and constructing container mirrors, in which the management method includes: acquiring the identification of container mirrors; acquiring the first instruction set corresponding to the historical operation instructions from the predetermined initial container mirror to the container mirror according to the identification of container mirrors; and feedback the predetermined initial container mirror and the container mirror when receiving the acquisition request for container mirrors. The first instruction set. According to the invention, the container image can be obtained by superimposing one or more layers on the basis of the initial container image and writing the instructions into the first instruction set according to the situation, without increasing the number of layers superimposed on the basis of the initial container image with the increase of the number of historical operations. Therefore, the structure of the container image can be simplified and the size of the container image can be reduced. Small.

【技术实现步骤摘要】
容器镜像的管理、使用及构建方法、装置
本专利技术涉及虚拟化
,具体涉及容器镜像的管理、使用及构建方法、装置。
技术介绍
容器技术是一种虚拟化技术,与hypervisor一样,其可以实现应用层基于硬件层的虚拟化,使用户关注与开发应用程序本身。然而,hypervisor环境来说,运行于其上的虚拟机都需要运行一个完整的操作系统以及其中安装好的大量应用程序。与其不同的是,采用容器便不用安装一套操作系统和依赖环境,容器极其轻量,只打包了Bin\Lib文件。容器(Container)可以从一个平台(例如CentOS7.2环境)较容易地应用于另一个平台(Ubuntu17.04环境),开发好的应用程序可以封装在一个容器中,从而借助容器可以较容易地将开发好的应用程序移植到不同的平台使用。容器本身是一个基于内核的技术,用于封装应用程序的容器是容器镜像(Image)的实例化结果,容器技术提供了镜像仓库(Repository)用于存储并管理容器镜像,用户可以从镜像仓库取容器镜像来使用,如图1A所示。常规镜像是在内核的基础上生成一个最原始的镜像,然后再叠加很多层,容器镜像的分层结构如图1B所示,容器镜像中的各层都是只读的,也即这些层中的文件都是不允许修改的。如果相对容器镜像的功能进行修改就只能在原容器镜像的基础上叠加层,这些层是可读且可写(即可以修改的)的。由此可见,若想将容器镜像实例化为具体的容器从而实现特定的功能,就只能在容器镜像的基础上叠加层,通过修改叠加层来将容器镜像的功能实例化(例如将应用程序写在叠加层),如图1C所示。容器技术还提供了一种基于容器的镜像创建方式,即将实例化的容器作为容器镜像提交(即容器的Commit操作)到镜像仓库,从而下次可以直接从镜像仓库取来使用。现有基于容器创建容器镜像的方法,往往是将容器镜像A的基础上叠加第一层、将其实例化为容器a1之后,在该第一层内写入程序以执行操作,这些操作例如软件安装、包安装、更改配置、程序运行等,其中部分操作会使容器a1的内环境发生变化。在这些操作结束之后,为了在下次使用时能够保留此次操作之后形成的容器环境,用户可以将容器a1作为镜像全量提交到镜像仓库。然而,专利技术人发现,现有基于容器创建容器镜像的方法具有如下缺陷:基于容器镜像A,执行N次操作及提交之后,在容器镜像A的基础上所叠加的层数往往不少于N层,所叠加的层数较多;且随着历史操作次数的增多,叠加的层数会越来越多,造成最终创建形成的容器镜像的环境结构冗余且镜像文件很大。
技术实现思路
本专利技术实施例提供了容器镜像的管理、使用及构建方法、装置,以解决现有技术中容器镜像的环境结构冗余的问题。根据第一方面,本专利技术实施例提供了一种容器镜像的管理方法,包括:获取容器镜像的标识;根据所述容器镜像的标识获取从预定初始容器镜像至所述容器镜像所执行的历史操作指令对应的第一指令集合;当接收到所述容器镜像的获取请求时,反馈所述预定初始容器镜像和所述第一指令集合。可选地,所述反馈所述预定初始容器镜像和所述第一指令集合的步骤之前,还包括:将所述第一指令集合中对所述预定初始容器镜像具有相反操作意图的指令合并或删除,得到所述历史操作指令对应的第二指令集合;对应地,所述当接收到所述容器镜像的获取请求时,反馈所述预定初始容器镜像和所述第一指令集合的步骤,包括:当接收到所述容器镜像的获取请求时,反馈所述预定初始容器镜像和所述第二指令集合。可选地,所述第一指令集合为涉及容器镜像环境改变的操作指令。可选地,所述方法还包括:获取所述预定初始容器镜像;获取待优化容器镜像所对应的所述第一指令集合;在所述预定初始容器镜像的基础上叠加层并写入所述第一指令集合中的指令,得到优化后的容器镜像。可选地,所述方法还包括:获取所述预定初始容器镜像;获取待优化容器镜像所对应的所述第二指令集合;在所述预定初始容器镜像的基础上叠加层并写入所述第二指令集合中的指令,得到优化后的容器镜像。根据第二方面,本专利技术实施例提供了一种容器镜像的使用方法,包括:发送所需容器镜像的获取请求;容器镜像管理平台根据所述获取请求会反馈预定初始容器镜像和从所述预定初始容器镜像至所述所需容器镜像的预定指令集合;在所述预定初始容器镜像的基础上叠加层并写入所述预定指令集合中的指令,得到所需容器镜像;在所需容器镜像的基础上写入相关操作指令得到所需容器。根据第三方面,本专利技术实施例提供了一种容器镜像的构建方法,包括:获取第一容器镜像,并获取从预定初始容器镜像至所述第一容器镜像所执行的历史操作指令对应的第三指令集合;在所述第一容器镜像的基础上叠加层并写入相关操作指令得到第二容器;将所述相关操作指令并入所述第三指令集合,形成第四指令集合;将第二容器镜像的标识和所述第四指令集合提交至容器镜像管理平台。可选地,所述将第二容器镜像的标识和所述第四指令集合提交至容器镜像管理平台的步骤之前,包括:将所述第四指令集合中对所述预定初始容器镜像具有相反操作意图的指令合并或删除,得到所述历史操作指令对应的第五指令集合;对应地,所述将第二容器镜像的标识和所述第四指令集合提交至容器镜像管理平台的步骤包括:将第二容器镜像的标识和所述第五指令集合提交至容器镜像管理平台。可选地,所述将所述相关操作指令并入所述第三指令集合,形成第四指令集合的步骤之前,包括:将所述第三指令集合中、对容器镜像具有相反操作意图的指令进行合并或删除;和/或,将所述相关指令中对容器镜像具有相反操作意图的指令进行合并或删除。可选地,所述获取第一容器镜像的步骤包括:发送第一容器镜像的获取请求;容器镜像管理平台根据所述获取请求会反馈预定初始容器镜像和从所述预定初始容器镜像至所述第一容器镜像的预定指令集合;在所述预定初始容器镜像的基础上叠加层并写入所述预定指令集合中的指令,得到第一容器镜像。根据第四方面,本专利技术实施例提供了一种容器镜像的管理装置,包括:第一获取单元,用于获取容器镜像的标识;第二获取单元,用于根据所述容器镜像的标识获取从预定初始容器镜像至所述容器镜像所执行的历史操作指令对应的第一指令集合;反馈单元,用于当接收到所述容器镜像的获取请求时,反馈所述预定初始容器镜像和所述第一指令集合。可选地,所述装置还包括:第一合并或删除单元,用于将所述第一指令集合中对所述预定初始容器镜像具有相反操作意图的指令合并或删除,得到所述历史操作指令对应的第二指令集合;对应地,所述反馈单元用于当接收到所述容器镜像的获取请求时,反馈所述预定初始容器镜像和所述第二指令集合。可选地,所述第一指令集合为涉及容器镜像环境改变的操作指令。可选地,所述装置还包括:第三获取单元,用于获取所述预定初始容器镜像;第四获取单元,用于获取待优化容器镜像所对应的所述第一指令集合;第一写入单元,用于在所述预定初始容器镜像的基础上叠加层并写入所述第一指令集合中的指令,得到优化后的容器镜像。可选地,所述装置还包括:第五获取单元,用于获取所述预定初始容器镜像;第六获取单元,用于获取待优化容器镜像所对应的所述第二指令集合;第二写入单元,用于在所述预定初始容器镜像的基础上叠加层并写入所述第二指令集合中的指令,得到优化后的容器镜像。根据第五方面,本专利技术实施例提供了一种容器镜像的使用装置,包括:第一发送单元,用于发送所需容器镜像的获本文档来自技高网
...

【技术保护点】
1.一种容器镜像的管理方法,其特征在于,包括:获取容器镜像的标识;根据所述容器镜像的标识获取从预定初始容器镜像至所述容器镜像所执行的历史操作指令对应的第一指令集合;当接收到所述容器镜像的获取请求时,反馈所述预定初始容器镜像和所述第一指令集合。

【技术特征摘要】
1.一种容器镜像的管理方法,其特征在于,包括:获取容器镜像的标识;根据所述容器镜像的标识获取从预定初始容器镜像至所述容器镜像所执行的历史操作指令对应的第一指令集合;当接收到所述容器镜像的获取请求时,反馈所述预定初始容器镜像和所述第一指令集合。2.根据权利要求1所述的容器镜像的管理方法,其特征在于,所述反馈所述预定初始容器镜像和所述第一指令集合的步骤之前,还包括:将所述第一指令集合中对所述预定初始容器镜像具有相反操作意图的指令合并或删除,得到所述历史操作指令对应的第二指令集合;对应地,所述当接收到所述容器镜像的获取请求时,反馈所述预定初始容器镜像和所述第一指令集合的步骤,包括:当接收到所述容器镜像的获取请求时,反馈所述预定初始容器镜像和所述第二指令集合。3.根据权利要求1或2所述的容器镜像的管理方法,其特征在于,所述第一指令集合为涉及容器镜像环境改变的操作指令。4.根据权利要求1所述的容器镜像的管理方法,其特征在于,还包括:获取所述预定初始容器镜像;获取待优化容器镜像所对应的所述第一指令集合;在所述预定初始容器镜像的基础上叠加层并写入所述第一指令集合中的指令,得到优化后的容器镜像。5.根据权利要求2所述的容器镜像的管理方法,其特征在于,还包括:获取所述预定初始容器镜像;获取待优化容器镜像所对应的所述第二指令集合;在所述预定初始容器镜像的基础上叠加层并写入所述第二指令集合中的指令,得到优化后的容器镜像。6.一种容器镜像的使用方法,其特征在于,包括:发送所需容器镜像的获取请求;容器镜像管理平台根据所述获取请求会反馈预定初始容器镜像和从所述预定初始容器镜像至所述所需容器镜像的预定指令集合;在所述预定初始容器镜像的基础上叠加层并写入所述预定指令集合中的指令,得到所需容器镜像;在所需容器镜像的基础上写入相关操作指令得到所需容器。7.一种容器镜像的构建方法,其特征在于,包括:获取第一容器镜像,并获取从预定初始容器镜像至所述第一容器镜像所执行的历史操作指令对应的第三指令集合;在所述第一容器镜像的基础上叠加层并写入相关操作指令得到第二容器;将所述相关操作指令并入所述第三指令集合,形成第四指令集合;将第二容器镜像的标识和所述第四指令集合提交至容器镜像管理平台。8.根据权利要求7所述的容器镜像的构建方法,其特征在于,所述将第二容器镜像的标识和所述第四指令集合提交至容器镜像管理平台的步骤之前,包括:将所述第四指令集合中对所述预定初始容器镜像具有相反操作意图的指令合并或删除,得到所述历史操作指令对应的第五指令集合;对应地,所述将第二容器镜像的标识和所述第四指令集合提交至容器镜像管理平台的步骤包括:将第二容器镜像的标识和所述第五指令集合提交至容器镜像管理平台。9.根据权利要求7或8所述的容器镜像的构建方法,其特征在于,所述将所述相关操作指令并入所述第三指令集合,形成第四指令集合的步骤之前,包括:将所述第三指令集合中、对容器镜像具有相反操作意图的指令进行合并或删除;和/或,将所述相关指令中对容器镜像具有相反操作意图的指令进行合并或删除。10.根据权利要求7所述的容器镜像的构建方法,其特征在于,所述获取第一容器镜像的步骤包括:发送第一容器镜像的获取请求;容器镜像管理平台根据所述获取请求会反馈预定初始容器镜像和从所述预定初始容器镜像至所述第一容器镜像的预定指令集合;在所述预定初始容器镜像的基础上叠加层并写入所述预定指令集合中的指令,得到第一容器镜像。11.一种容器镜像的管理装置,其特征在于,包括:第一获取单元,用于获取容器镜像的标识;第二获取单元,用于根据所述容器镜像的标识获取从预定初始容器镜像至所述容器镜像所执行的历史操作指令对应的第一指令集合;反馈单元,用于当接...

【专利技术属性】
技术研发人员:王岳陈江琦林龙王博高畅刘思言
申请(专利权)人:全球能源互联网研究院有限公司国网山东省电力公司国家电网有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1