本申请涉及虚拟机,特别是涉及一种容器镜像升级方法、装置、电子设备以及计算机程序产品。
背景技术:
1、docker镜像是一个只读的模板,包含了操作系统、应用程序、依赖库、配置文件等,用来创建docker容器。docker容器是docker镜像的一个运行实例,可以理解为一个轻量级的虚拟机。容器包含了运行应用程序所需的所有组件,包括操作系统、应用程序、依赖库等。docker仓库是用来存储和管理docker镜像的地方,类似于代码仓库。docker镜像可以从仓库中拉取,也可以推送到仓库中进行存储和分享。
2、docker镜像是创建docker容器的基础,docker容器是docker镜像的运行实例,docker仓库是存储和管理docker镜像的地方。通过使用docker镜像、容器、仓库,可以实现应用程序的快速部署、运行和管理,提高了应用程序的可移植性和可伸缩性。
3、docker仓库中的容器镜像之间往往存在一定的依赖关系,如果父镜像存在某个缺陷,那么以该父镜像为基础的子镜像也会存在相同缺陷。
技术实现思路
1、鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种容器镜像升级方法,可以对与目标镜像具有依赖关系的关联镜像逐一实现级联更新,可以避免父镜像进行升级修复了某缺陷后,子镜像不能被同步更新,仍然存在该缺陷的问题。
2、相应的,本申请实施例还提供了一种容器镜像升级装置、电子设备、以及一种计算机程序产品,用以保证上述方法的实现及应用。
3、第一方面,本申请实施例公开了一种容器镜像升级方法,所述方法包括:
4、构建目标镜像,并保存所述目标镜像的构建日志;所述构建日志中记录有所述目标镜像的父镜像信息;
5、扫描所述构建日志,解析所述构建日志后获取所述目标镜像的依赖关系信息,并将所述依赖关系信息保存至目标数据库中;所述依赖关系信息用于指示所述目标镜像与其他镜像之间的父子关系;
6、基于已升级的当前镜像查询所述目标数据库,分别确定与所述当前镜像具有依赖关系的关联镜像,并基于所述当前镜像递归更新所述关联镜像。
7、第二方面,本申请实施例公开了一种容器镜像升级装置,所述装置包括:
8、镜像构建模块,用于构建目标镜像,并保存所述目标镜像的构建日志;所述构建日志中记录有所述目标镜像的父镜像信息;
9、日志扫描模块,用于扫描所述构建日志,解析所述构建日志后获取所述目标镜像的依赖关系信息,并将所述依赖关系信息保存至目标数据库中;所述依赖关系信息用于指示所述目标镜像与其他镜像之间的父子关系;
10、自动升级模块,用于基于已升级的当前镜像查询所述目标数据库,分别确定与所述当前镜像具有依赖关系的关联镜像,并基于所述当前镜像递归更新所述关联镜像。
11、第三方面,本申请实施例公开了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如前述中任一所述的容器镜像升级方法的步骤。
12、第四方面,本申请实施例公开了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时能够实现如前述中任一所述的容器镜像升级方法。
13、第五方面,本申请实施例公开了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时如前述中任一所述的容器镜像升级方法的步骤。
14、本申请实施例包括以下优点:
15、本申请实施例在构建目标镜像的情况下,保存所述目标镜像的构建日志。在目标镜像构建完成之后,通过扫描所述目标镜像的构建日志,可以获取所述目标镜像的依赖关系信息,并在目标数据库中保存所述目标镜像的依赖关系信息;所述依赖关系信息用于指示所述目标镜像的父镜像。本申请实施例利用目标数据库以树形结构保存各镜像的依赖关系信息,在目标数据库中的目标镜像构建成功后,可以基于已升级的当前镜像查询所述目标数据库,确定与所述当前镜像具有依赖关系,即作为当前镜像对应子镜像的关联镜像,由此可以基于当前镜像更新所述关联镜像,并再次将更新完毕的关联镜像作为当前镜像,对所述关联镜像对应的子镜像进行更新,逐次递归,进而同步实现对所述关联镜像进行级联更新,可以避免父镜像进行升级而被修复了某缺陷后,子镜像不能被同步更新,仍然存在该缺陷的问题。
1.一种容器镜像升级方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述关联镜像包括直接依赖和/或间接依赖所述目标镜像的所有子镜像。
3.根据权利要求1所述的方法,其特征在于,所述构建目标镜像,包括:
4.根据权利要求1所述的方法,其特征在于,所述解析所述构建日志后获取所述目标镜像的依赖关系信息,包括:
5.根据权利要求4所述的方法,其特征在于,所述关键字包括构建所述目标镜像使用的父镜像定义指令中的预置字段,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述将所述依赖关系信息保存至目标数据库中,包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.一种容器镜像升级装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1至7任一所述的容器镜像升级方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时如权利要求1至7任一所述的容器镜像升级方法的步骤。