System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据校验,尤其涉及一种镜像校验方法和装置、电子设备和存储介质。
技术介绍
1、在相关技术中,特别是一些人工智能平台中,用户可以上传自定义的镜像,通过该镜像创建一个容器开发环境,但是对创建容器开发环境的镜像有一定的要求,镜像中必须安装或携带有一些必要的文件包,如ssh(secure shell,一种建立在应用层基础上的安全协议)包和python(一种计算机编程语言)包等,否则会导致容器开发环境创建失败。
2、相关技术中,只能够在容器开发环境创建失败之后,才能够确定是否缺少必须的文件包,进而导致容器开发环境的创建失败率高、效率低下的问题。
3、因此,相关技术中存在基于镜像创建的容器环境的创建失败率高、效率低下的问题。
技术实现思路
1、本申请提供了一种镜像校验方法和装置、电子设备和存储介质,以至少解决相关技术中存在基于镜像创建的容器环境的创建失败率高、效率低下的问题。
2、根据本申请实施例的一个方面,提供了一种镜像校验方法,包括:
3、获取目标对象上传的待检测镜像;
4、按照对所述待检测镜像所需检测的目标文件包,生成指定检测脚本;
5、基于预设镜像以及所述指定检测脚本创建得到目标容器组;
6、在所述目标容器组中,根据所述待检测镜像创建得到目标容器;
7、根据目标检测脚本对所述目标容器进行校验,并得到用于指示所述待检测镜像中是否安装有目标文件包的校验结果,其中,所述目标检测脚本是位于
8、可选地,如前述的方法,所述基于预设镜像以及所述指定检测脚本创建得到目标容器组,包括:
9、基于预设镜像以及所述指定检测脚本生成目标镜像;
10、通过所述目标镜像创建得到所述目标容器组。
11、可选地,如前述的方法,所述在所述目标容器组中,根据所述待检测镜像创建得到目标容器,包括:
12、在镜像导入服务中新建得到docker客户端,其中,所述docker客户端中的基地址指向所述目标容器组提供docker服务的服务地址;
13、按照所述服务地址,并通过所述docker客户端将所述待检测镜像拉取到所述目标容器组中;
14、在所述目标容器组中,根据所述待检测镜像创建得到所述目标容器。
15、可选地,如前述的方法,所述按照所述服务地址,并通过所述docker客户端将所述待检测镜像拉取到所述目标容器组中,包括:
16、在所述待检测镜像为私有仓库镜像的情况下,登录到所述待检测镜像对应的私有仓库中;
17、按照所述服务地址,并通过所述docker客户端将所述待检测镜像拉取到所述目标容器组中。
18、可选地,如前述的方法,所述根据目标检测脚本对所述目标容器进行校验,并得到用于指示所述待检测镜像中是否安装有目标文件包的校验结果,包括:
19、确定所述目标检测脚本在所述目标容器中所需挂载到的目标路径;
20、按照所述目标路径,将所述目标检测脚本挂载到所述目标容器中,得到挂载后脚本;
21、通过所述挂载后脚本对所述目标容器进行校验,得到所述校验结果。
22、可选地,如前述的方法,所述根据所述挂载后脚本对所述目标容器进行校验,得到所述校验结果,包括:
23、运行所述挂载后脚本;
24、循环检测所述目标容器的容器状态,直至所述目标容器的容器状态为预设状态时,确定所述挂载后脚本已执行完毕;
25、得到在所述挂载后脚本执行完毕之后生成的结果文档;
26、对所述结果文档进行解析,得到所述校验结果。
27、可选地,如前述的方法,在所述根据目标检测脚本对所述目标容器进行校验,并得到用于指示所述待检测镜像中是否安装有目标文件包的校验结果之后,所述方法还包括:
28、在所述校验结果指示所述待检测镜像中未安装有所有所述目标文件包的情况下,将所述待检测镜像的导入状态确定为失败;
29、基于所述校验结果,在所有所述目标文件包中确定出缺少的指定文件包;
30、生成用于指示所述待检测镜像中缺少所述指定文件包的提示信息。
31、根据本申请实施例的另一个方面,还提供了一种镜像校验装置,包括:
32、获取模块,用于获取目标对象上传的待检测镜像;
33、生成模块,用于按照对所述待检测镜像所需检测的目标文件包,生成指定检测脚本;
34、目标容器组创建模块,用于基于预设镜像以及所述指定检测脚本创建得到目标容器组;
35、容器创建模块,用于在所述目标容器组中,根据所述待检测镜像创建得到目标容器;
36、校验模块,用于根据目标检测脚本对所述目标容器进行校验,并得到用于指示所述待检测镜像中是否安装有目标文件包的校验结果,其中,所述目标检测脚本是位于所述目标容器组中,与所述指定检测脚本相同的检测脚本。
37、根据本申请实施例的又一个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述任一实施例中的方法步骤。
38、根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的方法步骤。
39、在本申请实施例中,采用获取目标对象上传的待检测镜像;按照对所述待检测镜像所需检测的目标文件包,生成指定检测脚本;基于预设镜像以及所述指定检测脚本创建得到目标容器组;在所述目标容器组中,根据所述待检测镜像创建得到目标容器;根据目标检测脚本对所述目标容器进行校验,并得到用于指示所述待检测镜像中是否安装有目标文件包的校验结果,其中,所述目标检测脚本是位于所述目标容器组中,与所述指定检测脚本相同的检测脚本的方式,提供了一种能够对待检测镜像进行是否安装有所需的目标文件包进行检测的检测方法,进而可以在基于待检测镜像进行容器环境创建之前,便可确定待检测镜像是否安装有目标文件包,可以有效避免因为缺少目标文件包导致的容器环境创建失败的问题;从而解决了相关技术中存在的基于镜像创建的容器环境的创建失败率高、效率低下的问题。
本文档来自技高网...【技术保护点】
1.一种镜像校验方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于预设镜像以及所述指定检测脚本创建得到目标容器组,包括:
3.根据权利要求1所述的方法,其特征在于,所述在所述目标容器组中,根据所述待检测镜像创建得到目标容器,包括:
4.根据权利要求3所述的方法,其特征在于,所述按照所述服务地址,并通过所述docker客户端将所述待检测镜像拉取到所述目标容器组中,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据目标检测脚本对所述目标容器进行校验,并得到用于指示所述待检测镜像中是否安装有目标文件包的校验结果,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述挂载后脚本对所述目标容器进行校验,得到所述校验结果,包括:
7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述根据目标检测脚本对所述目标容器进行校验,并得到用于指示所述待检测镜像中是否安装有目标文件包的校验结果之后,所述方法还包括:
8.一种镜像校验装置,其特征在于,包括:
9.
10.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项中所述的方法步骤。
...【技术特征摘要】
1.一种镜像校验方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于预设镜像以及所述指定检测脚本创建得到目标容器组,包括:
3.根据权利要求1所述的方法,其特征在于,所述在所述目标容器组中,根据所述待检测镜像创建得到目标容器,包括:
4.根据权利要求3所述的方法,其特征在于,所述按照所述服务地址,并通过所述docker客户端将所述待检测镜像拉取到所述目标容器组中,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据目标检测脚本对所述目标容器进行校验,并得到用于指示所述待检测镜像中是否安装有目标文件包的校验结果,包括:
6.根据权利要求5所述的方法,其特征在...
【专利技术属性】
技术研发人员:徐雪梅,
申请(专利权)人:北京金山云网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。