私有镜像生成方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:22166215 阅读:30 留言:0更新日期:2019-09-21 10:17
本申请实施例提供一种私有镜像生成方法、装置、计算机设备及存储介质,其涉及云计算技术领域,可应用于PaaS平台中。所述方法包括:若接收到私有镜像生成指令,调用生成接口,以通过生成接口将产生私有镜像生成指令的容器封装成私有镜像;获取封装后的私有镜像的大小;判断私有镜像的大小是否超过预设大小;若未超过预设大小,根据容器确定保存私有镜像的目的镜像仓库;调用推送接口,将私有镜像推送至目的镜像仓库;并更新数据库。本申请实施例生成私有镜像自动化完成,无需用户干预,提高了私有镜像生成的速度和效率,同时保存的私有镜像可在下次需要使用时,直接使用私有镜像来生成应用,便于快速部署,无需再重新安装组件和服务等。

Private Mirror Generation Method, Device, Computer Equipment and Storage Media

【技术实现步骤摘要】
私有镜像生成方法、装置、计算机设备及存储介质
本申请涉及云计算
,尤其涉及一种私有镜像生成方法、装置、计算机设备及存储介质。
技术介绍
在云平台中,如在PaaS(Platform-as-a-Service,平台即服务)平台中,利用官方镜像来创建容器应用的容器实例时,由于使用官方镜像,一旦容器实例创建成功,就需要收费。当不再使用该容器应用时,为了节约成本考虑,往往需要把该容器应用进行删除。而当下次再次需要使用该容器应用时,又需要重新创建,除了需要重新创建容器应用外,用户自行在容器实例上进行的一些操作,比如安装新的服务以及组件等,都会重新进行安装,如此会导致不能充分利用之前创建的容器应用,再次创建的过程也会占用大量的人工成本和时间成本。因此,当官方镜像不满足需求时,可考虑使用私有镜像。
技术实现思路
本申请实施例提供一种私有镜像生成方法、装置、计算机设备及存储介质,可自动生成私有镜像,提高私有镜像生成的速度和效率,同时可直接使用私有镜像来生成应用,便于快速部署。第一方面,本申请实施例提供了一种私有镜像生成方法,包括:若接收到私有镜像生成指令,调用生成接口,以通过所述生成接口将产生所述私有镜像生成指令的容器封装成私有镜像;获取封装后的私有镜像的大小;判断所述私有镜像的大小是否超过预设大小;若所述私有镜像的大小未超过预设大小,根据所述容器确定保存所述私有镜像的目的镜像仓库;调用推送接口,将所述私有镜像推送至所述目的镜像仓库;在数据库中添加所述私有镜像的信息。第二方面,本专利技术实施例提供了一种私有镜像生成装置,该私有镜像生成装置包括用于执行上述第一方面所述的方法对应的单元。第三方面,本专利技术实施例提供了一种计算机设备,所述计算机设备包括存储器,以及与所述存储器相连的处理器;所述存储器用于存储计算机程序,所述处理器用于运行所述存储器中存储的计算机程序,以执行上述第一方面所述的方法。第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面所述的方法。本申请实施例除了私有镜像生成指令会涉及用户触发外,其他都是自动化完成,无需用户干预,提高了私有镜像生成的速度和效率,同时保存的私有镜像可在下次需要使用时,直接使用私有镜像来生成应用,便于快速部署,无需再重新安装组件和服务等。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的私有镜像生成方法的流程示意图;图2是本申请另一实施例提供的私有镜像生成方法的流程示意图;图3是本申请另一实施例提供的私有镜像生成方法的流程示意图;图4是本申请实施例提供的私有镜像生成方法的子流程示意图;图5是本申请实施例提供的私有镜像生成装置的示意性框图;图6是本申请另一实施例提供的私有镜像生成装置的示意性框图;图7是本申请另一实施例提供的私有镜像生成装置的示意性框图;图8是本申请实施例提供的创建单元的示意性框图;图9是本申请实施例提供的计算机设备的示意性框图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。需要注意的是,下文描述中,容器应用的容器实例和容器应用的容器意义相同。图1是本申请实施例提供的私有镜像生成方法的流程示意图。如图1所示,该方法包括S101-S107。S101,若接收到私有镜像生成指令,调用生成接口,以通过所述生成接口将产生所述私有镜像生成指令的容器封装成私有镜像。其中,私有镜像生成指令触发的方式包括多种,如用户触摸或者点击相关按钮或者图像触发;也可以接收用户的语音生成私有镜像信息来触发等。在本实施例中,私有镜像生成指令触发的方式不做限制。若接收到私有镜像生成指令,调用生成接口,以通过所述生成接口将产生所述私有镜像生成指令的容器封装成私有镜像,即步骤S101,包括:若接收到私有镜像生成指令,获取产生所述私有镜像生成指令的容器的容器标识,可以理解为,所述私有镜像生成指令中包括有容器标识;根据容器标识通过命令来调用生成接口,将所对应的容器封装成私有镜像,并保存至所述容器所属的宿主机上。可以理解为,若接收到私有镜像生成指令,调用生成接口,通过该生成接口将产生所述私有镜像生成指令的容器打包成私有镜像。其中,生成接口可以以函数的形式存在,如commit函数,容器标识可以为容器ID等,以用来识别具体的容器,私有镜像包括私有镜像名称等。根据私有镜像生成指令调用生成接口的命令为:dockercommit{容器ID}{私有镜像名称},其中,容器ID即为产生所述私有镜像生成指令的容器的容器标识,私有镜像名称为将容器ID所对应的容器封装成私有镜像的私有镜像名称。将所对应的容器封装成私有镜像,可以理解为将整个的容器封装成私有镜像,包括容器的各种基础环境、容器里的各种文件、在容器里面所进行的一些操作比如安装有新的组件等都全部进行保存和封装。或者也可以理解为相当于虚拟机的映射,可保留容器中的所有的一切。需要注意的是,封装的过程还包括打包的过程。S102,获取封装后的私有镜像的大小。如可以通过执行命令来获取封装后的私有镜像的大小,如私有镜像有多少G。如命令:dockerinspect命令,该命令用于获取容器/镜像的元数据。具体地,如dockerinspect-f‘{’‘{.size}’‘}’{私有镜像名称}。其中,-f表示指定返回值的模板文件,私有镜像名称即为封装后的私有镜像名称。S103,判断所述私有镜像的大小是否超过预设大小。其中,预设大小可以为10G,预设大小也可以是其他的大小。可以理解地,生成的私有镜像会占用存储空间,因此,如果私有镜像太大,那么会占用太多的资源。因此,会限制所保存的私有镜像的大小等。若所述私有镜像的大小未超过预设大小,执行步骤S104;若所述私有镜像的大小超过预设大小,执行步骤S107。S104,根据所述容器所在的应用环境和区域确定保存所述私有镜像的目的镜像仓库。其中,该容器包括容器的信息,如容器所在的应用环境、容器所在的区域等。根据所述容器确定保存所述私有镜像的目的镜像仓库,包括:根据所述容器所在的应用环境、容器所在的区域确定保存所述私有镜像的目的镜像仓库。在一实施例中,步骤S104包括:获取所述容器所在的应用环境和区域;获取所述应用环境和区域下预先设置的用于保存私有镜像的镜像仓库,将该镜像仓库确定为目的镜像仓库。在数据库中保存有容器的信息,如容器所在的宿主机、容器所在的应用环境以及区域等信息。其中,容器所在的应用环境包括生产环境、测试环境、开发环境等。其中,生产环境意味着该容器所对应的应用或者服务对接外部环境,或者供外部用户进行访问;测试环境意味着该容器所对应的应用或者服务供测试使用;开发环境意味着该容器所对应的应用或者服务供开发使用。容器所在的应用环境、容器所在的区本文档来自技高网...

【技术保护点】
1.一种私有镜像生成方法,其特征在于,所述方法包括:若接收到私有镜像生成指令,调用生成接口,以通过所述生成接口将产生所述私有镜像生成指令的容器封装成私有镜像;获取封装后的私有镜像的大小;判断所述私有镜像的大小是否超过预设大小;若所述私有镜像的大小未超过预设大小,根据所述容器所在的应用环境和区域确定保存所述私有镜像的目的镜像仓库;调用推送接口,将所述私有镜像推送至所述目的镜像仓库;在数据库中添加所述私有镜像的信息。

【技术特征摘要】
1.一种私有镜像生成方法,其特征在于,所述方法包括:若接收到私有镜像生成指令,调用生成接口,以通过所述生成接口将产生所述私有镜像生成指令的容器封装成私有镜像;获取封装后的私有镜像的大小;判断所述私有镜像的大小是否超过预设大小;若所述私有镜像的大小未超过预设大小,根据所述容器所在的应用环境和区域确定保存所述私有镜像的目的镜像仓库;调用推送接口,将所述私有镜像推送至所述目的镜像仓库;在数据库中添加所述私有镜像的信息。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述私有镜像的大小超过预设大小,移除所述私有镜像。3.根据权利要求1所述的方法,其特征在于,所述根据所述容器确定保存所述私有镜像的目的镜像仓库,包括:获取所述容器所在的应用环境和区域;获取所述应用环境和区域下预先设置的用于保存私有镜像的镜像仓库,将该镜像仓库确定为目的镜像仓库。4.根据权利要求1所述的方法,其特征在于,在所述若接收到私有镜像生成指令,调用生成接口,以通过所述生成接口将产生所述私有镜像生成指令的容器封装成私有镜像之前,所述方法还包括:获取当前登陆用户的权限;判断所述当前登陆用户的权限与预设权限是否相同;若所述当前登陆用户的权限与预设权限相同,执行所述若接收到私有镜像生成指令,调用生成接口,以通过所述生成接口将产生所述私有镜像生成指令的容器封装成私有镜像的步骤。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:若接收到编辑指令,获取所述编辑指令中的待编辑的私有镜像;根据所述编辑指令调用编辑接口,以接收通过所述编辑接口设置的所述待编辑的私有镜像的修改信息;若接收到编辑完成指令,接收所述待编辑的私有镜像的修改信息,并将所述修改信息更新至数据库。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:若接收到应用创建指令,获取所述应用创建指令中的私有镜像;根据所述应用创建指令调用设置接口,以接收通过所述...

【专利技术属性】
技术研发人员:黄桂钦
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1