一种生成镜像文件的方法及装置制造方法及图纸

技术编号:31749107 阅读:23 留言:0更新日期:2022-01-05 16:30
本申请实施例公开了一种生成镜像文件的方法及装置,方法包括:基于虚拟机镜像启动虚拟机,并获得所述虚拟机的第一信息;从容器镜像仓库中获得基础容器镜像;基于所述基础容器镜像和所述第一信息构建得到目标容器镜像,其中,构建目标镜像的过程包括:确定所述基础容器镜像的第二信息,基于所述第一信息和所述第二信息确定第一数据,所述第一数据用于指示所述基础容器镜像的处理内容。上述实现方案中,由于可以基于虚拟机镜像处理得到容器镜像,因此,只需要向部署平台上传一种虚拟机镜像,就可以实现虚拟机应用和容器应用两种类型的应用编排,因此节省了存储空间和网络资源消耗,有助于提升用户的使用体验。有助于提升用户的使用体验。有助于提升用户的使用体验。

【技术实现步骤摘要】
一种生成镜像文件的方法及装置


[0001]本申请涉及应用部署技术,更具体的说,是涉及一种生成镜像文件的方法及装置。

技术介绍

[0002]当前在应用部署工作中,编排应用即需要虚拟机镜像也需要容器镜像,因此需要上传两种镜像到部署平台,这样不仅会占用比较大的空间,且增加了部署平台中应用编排的复杂度。

技术实现思路

[0003]有鉴于此,本申请提供如下技术方案:
[0004]一种生成镜像文件的方法,包括:
[0005]基于虚拟机镜像启动虚拟机,并获得所述虚拟机的第一信息;
[0006]从容器镜像仓库中获得基础容器镜像;
[0007]基于所述基础容器镜像和所述第一信息构建得到目标容器镜像,其中,构建目标镜像的过程包括:确定所述基础容器镜像的第二信息,基于所述第一信息和所述第二信息确定第一数据,所述第一数据用于指示所述基础容器镜像的处理内容。
[0008]可选的,所述基于所述虚拟机镜像启动虚拟机,并获得所述虚拟机的第一信息,包括:
[0009]基于所述虚拟机镜像启动虚拟机,并在所述虚拟机启动后,通过第一智能代理装置获得第一信息,所述第一信息由所述虚拟机的第二智能代理装置从所述虚拟机中获得并打包得到。
[0010]可选的,所述构建目标镜像的过程还包括:
[0011]基于所述基础容器镜像和所述第一数据构建得到目标容器镜像并上传至所述容器镜像仓库。
[0012]可选的,所述第一信息包括所述虚拟机镜像中安装软件的第一软件信息,所述第二信息包括所述基础容器镜像中安装的软件的第二软件信息,则所述基于所述第一信息和所述第二信息确定第一数据,包括:
[0013]比较所述第一软件信息和所述第二软件信息,确定所述基础容器镜像的第一配置文件,所述第一配置文件包括所述基础容器镜像需要安装的软件信息以及所述基础容器镜像需要卸载的软件信息。
[0014]可选的,所述第一信息还包括所述虚拟机的进程信息,则所述基于所述基础容器镜像和所述第一信息构建得到目标容器镜像,包括:
[0015]基于所述进程信息生成所述基础容器镜像的第二配置文件,所述第二配置文件中包括主进程。
[0016]可选的,所述第一信息包括所述虚拟机镜像的发行版信息,则所述从容器镜像仓库中获得基础容器镜像,包括:
[0017]从所述容器镜像仓库中获得与所述发行版信息的版本对应的基础容器镜像。
[0018]一种生成镜像文件的装置,包括:
[0019]信息获取模块;用于基于虚拟机镜像启动虚拟机,并获得所述虚拟机的第一信息;
[0020]镜像获得模块,用于从容器镜像仓库中获得基础容器镜像;
[0021]镜像构建模块,用于基于所述基础容器镜像和所述第一信息构建得到目标容器镜像,其中,构建目标镜像的过程包括:确定所述基础容器镜像的第二信息,基于所述第一信息和所述第二信息确定第一数据,所述第一数据用于指示所述基础容器镜像的处理内容。
[0022]可选的,所述信息获取模块具体用于:基于所述虚拟机镜像启动虚拟机,并在所述虚拟机启动后,通过第一智能代理装置获得第一信息,所述第一信息由所述虚拟机的第二智能代理装置从所述虚拟机中获得并打包得到。
[0023]可选的,所述第一信息包括所述虚拟机镜像中安装软件的第一软件信息,所述第二信息包括所述基础容器镜像中安装的软件的第二软件信息,则所述镜像构建模块用于:比较所述第一软件信息和所述第二软件信息,确定所述基础容器镜像的第一配置文件,所述第一配置文件包括所述基础容器镜像需要安装的软件信息以及所述基础容器镜像需要卸载的软件信息。
[0024]可选的,所述第一信息还包括所述虚拟机当前运行的进程信息,则所述镜像构建模块用于:基于所述进程信息生成所述基础容器镜像的第二配置文件,所述第二配置文件中包括主进程。
[0025]经由上述的技术方案可知,与现有技术相比,本申请实施例公开了一种生成镜像文件的方法及装置,方法包括:基于虚拟机镜像启动虚拟机,并获得所述虚拟机的第一信息;从容器镜像仓库中获得基础容器镜像;基于所述基础容器镜像和所述第一信息构建得到目标容器镜像,其中,构建目标镜像的过程包括:确定所述基础容器镜像的第二信息,基于所述第一信息和所述第二信息确定第一数据,所述第一数据用于指示所述基础容器镜像的处理内容。上述实现方案中,由于可以基于虚拟机镜像处理得到容器镜像,因此,只需要向部署平台上传一种虚拟机镜像,就可以实现虚拟机应用和容器应用两种类型的应用编排,因此节省了存储空间和网络资源消耗,有助于提升用户的使用体验。
附图说明
[0026]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0027]图1为本申请实施例公开的一种生成镜像文件的方法流程图;
[0028]图2为本申请实施例公开的构建目标镜像的流程图;
[0029]图3为本申请实施例公开的生成镜像文件的实现原理图;
[0030]图4为本申请实施例公开的一种生成镜像文件的装置的结构示意图;
[0031]图5为本申请实施例公开的镜像构建模块的结构示意图。
具体实施方式
[0032]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0033]图1为本申请实施例公开的一种生成镜像文件的方法流程图,参见图1所示,生成镜像文件的方法可以包括:
[0034]步骤101:基于虚拟机镜像启动虚拟机,并获得所述虚拟机的第一信息。
[0035]本申请实施例所述生成镜像文件的方法可应用于应用部署平台,在进行应用部署前,用户需要先将虚拟机镜像上传至应用部署平台的虚拟机镜像仓库,以备后续使用。
[0036]则在基于虚拟机镜像启动虚拟机前,需要先从虚拟机镜像仓库中拉取待转化的虚拟机镜像。基于拉取得到的虚拟机镜像启动虚拟机,以获得虚拟机的第一信息,为后续构建目标容器镜像提供参照基础。其中的第一信息可以但不限制为包括虚拟机内部进程、虚拟机镜像软件包等信息。
[0037]步骤102:从容器镜像仓库中获得基础容器镜像。
[0038]应用部署平台中不仅有虚拟机镜像仓库,也有容器镜像仓库,两者分别用于存储虚拟机镜像和容器镜像。在实际应用中,用户可以基于自身需求选择应用以怎样的形式进行部署。例如,用户对于应用运行的私密性要求较高,要求应用于外网实现强隔离,则可以选择采用虚拟机部署的形式来部署应用,则需要用到虚拟机镜像;而当用户对于应用运行的安全性要求不高时,可以选择采用容器部署的形本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种生成镜像文件的方法,包括:基于虚拟机镜像启动虚拟机,并获得所述虚拟机的第一信息;从容器镜像仓库中获得基础容器镜像;基于所述基础容器镜像和所述第一信息构建得到目标容器镜像,其中,构建目标镜像的过程包括:确定所述基础容器镜像的第二信息,基于所述第一信息和所述第二信息确定第一数据,所述第一数据用于指示所述基础容器镜像的处理内容。2.根据权利要求1所述的生成镜像文件的方法,所述基于所述虚拟机镜像启动虚拟机,并获得所述虚拟机的第一信息,包括:基于所述虚拟机镜像启动虚拟机,并在所述虚拟机启动后,通过第一智能代理装置获得第一信息,所述第一信息由所述虚拟机的第二智能代理装置从所述虚拟机中获得并打包得到。3.根据权利要求1所述的生成镜像文件的方法,所述构建目标镜像的过程还包括:基于所述基础容器镜像和所述第一数据构建得到目标容器镜像并上传至所述容器镜像仓库。4.根据权利要求1所述的生成镜像文件的方法,所述第一信息包括所述虚拟机镜像中安装软件的第一软件信息,所述第二信息包括所述基础容器镜像中安装的软件的第二软件信息,则所述基于所述第一信息和所述第二信息确定第一数据,包括:比较所述第一软件信息和所述第二软件信息,确定所述基础容器镜像的第一配置文件,所述第一配置文件包括所述基础容器镜像需要安装的软件信息以及所述基础容器镜像需要卸载的软件信息。5.根据权利要求1所述的生成镜像文件的方法,所述第一信息还包括所述虚拟机的进程信息,则所述基于所述基础容器镜像和所述第一信息构建得到目标容器镜像,包括:基于所述进程信息生成所述基础容器镜像的第二配置文件,所述第二配置文件中包括主进程。6.根据权...

【专利技术属性】
技术研发人员:杜宏宇郭双栓贾世萌王宝涛
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:

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

1