本发明专利技术涉及研发管理领域,公开了一种容器构建方法、装置、设备及存储介质。该方法包括:获取待构建容器程序,并对所述待构建容器程序进行编译,得到多个容器镜像层;运行各所述容器镜像层,并根据运行的结果对各所述容器镜像层进行过滤,得到过滤后的容器镜像层;利用复合字段对各所述过滤后的容器镜像层进行串联,并对串联后的容器镜像层进行交集分析以及安全标注,得到标注后的容器镜像层;对所述标注后的容器镜像层进行哈希计算,得到第一哈希值,并根据所述第一哈希值优化各所述标注后的容器镜像层之间的串联连接关系,得到对应的运行容器。实现了构建出一个高安全性的Docker容器。器。器。
【技术实现步骤摘要】
容器构建方法、装置、设备及存储介质
[0001]本专利技术涉及研发管理领域,尤其涉及一种容器构建方法、装置、设备及存储介质。
技术介绍
[0002]近年来,随着云计算的快速发展,虚拟化构建的运用平台得到了广泛应用,通过采用标准配置的硬件和虚拟化技术,不仅可以降低应用配置成本,而且还可按序满足用户应用资源的需求。但传统的虚拟机技术在增加了虚拟机管理程序层的支持的同时,也增加了系统性能消耗,并且需要对应用进行完全隔离,而Docker容器作为一种轻量、高性能、便捷性的新兴虚拟机技术,其通过容器间共享宿主机操作系统内核进行安全隔离,可以保证资源的可用性和隔离性,以致Docker容器得到了广泛应用。
[0003]现在的Docker容器文件构建通过Docker镜像快照,然后将镜像上传到Docker远程仓库或者直接保存到本地,但是Docker容器的下载和构建,可能通过第三方的容器镜像库或者第三方的链接,通过传统的静态代码扫描,例如fortify等技术,对容器的静态代码安全扫描也难以实现,以致构建的容器文件安全性降低,即现有的Docker容器构建的文件安全性较低。
技术实现思路
[0004]本专利技术的主要目的在于解决现有的Docker容器构建的文件安全性较低的问题。
[0005]本专利技术第一方面提供了一种容器构建方法,包括:所述容器构建方法包括:获取待构建容器程序,并对所述待构建容器程序进行编译,得到多个容器镜像层;运行各所述容器镜像层,并根据运行的结果对各所述容器镜像层进行过滤,得到过滤后的容器镜像层;利用复合字段对各所述过滤后的容器镜像层进行串联,并对串联后的容器镜像层进行交集分析以及安全标注,得到标注后的容器镜像层;对所述标注后的容器镜像层进行哈希计算,得到第一哈希值,并根据所述第一哈希值优化各所述标注后的容器镜像层之间的串联连接关系,得到对应的运行容器。
[0006]可选的,在本专利技术第一方面的第一种实现方式中,所述对所述待构建容器程序进行编译,得到多个容器镜像层,包括:解析出所述待构建容器程序中的多个指令信息,并从预置指令库中读取各所述指令信息对应容器镜像文件的基础镜像指令;采用所述基础镜像指令创建各所述指令信息对应的镜像,并根据创建的各个镜像,得到对应的多个容器镜像层。
[0007]可选的,在本专利技术第一方面的第二种实现方式中,所述运行各所述容器镜像层,并根据运行的结果对各所述容器镜像层进行过滤,得到过滤后的容器镜像层,包括:根据运行的结果生成各所述容器镜像层的标识符,并判断各所述容器镜像层是否存在相同的标识符;判断各所述容器镜像层是否存在相同的标识符;若各所述容器镜像层存在相同的标识符,则对各所述容器镜像层中标识符相同的容器镜像层进行过滤,得到过滤后的容器镜像层。
[0008]可选的,在本专利技术第一方面的第三种实现方式中,所述复合字段包括第一类字段和第二类字段,所述利用复合字段对各所述过滤后的容器镜像层进行串联,包括:识别所述过滤后的容器镜像层中的首层容器镜像以及除首层容器镜像外的其他层容器镜像的运行顺序;根据所述运行顺序,利用所述第一类字段,对所述首层容器镜像进行标记、以及利用所述第二类字段,对所述其他层容器镜像进行标记,得到标记信息;根据所述标记信息,对所述首层容器镜像和所述其他层容器镜像进行串联。
[0009]可选的,在本专利技术第一方面的第四种实现方式中,所述对串联后的容器镜像层进行交集分析以及安全标注,得到标注后的容器镜像层,包括:遍历串联后的容器镜像层对应的文件结构信息,并根据遍历的结果,得到各所述串联后的容器镜像层和所述标记信息的存储地址;计算所述存储地址的第二哈希值,并对所述第二哈希值进行哈希映射,得到对应的映射结果;检测各所述映射结果是否不相同,并根据检测的结果,利用预设标记符对各所述串联后的容器镜像层进行安全标注,得到标注容器镜像层。
[0010]可选的,在本专利技术第一方面的第五种实现方式中,所述根据检测的结果,利用预设标记符对各所述串联后的容器镜像层进行安全标注,得到标注容器镜像层,包括:若检测的结果为所述首层容器镜像对应的映射结果不相同,则利用预设标记符对串联后的容器镜像层进行安全标注,得到标注容器镜像层;若检测的结果为所述其他层容器镜像对应的映射结果不相同,并利用预设标记符对所述其他层容器镜像进行安全标注,得到标注容器镜像层。
[0011]可选的,在本专利技术第一方面的第六种实现方式中,所述根据所述第一哈希值优化各所述标注后的容器镜像层之间的串联连接关系,得到对应的运行容器,包括:提取各所述标注后的容器镜像层对应的文件摘要信息,并对所述第一哈希值与所述文件摘要信息进行连接;计算所述第一哈希值与所述文件摘要信息连接后的第三哈希值,并判断所述第三哈希值是否小于所述第一哈希值;若所述第三哈希值小于所述第一哈希值,则采用所述第三哈希值,调整各所述标注后的容器镜像层之间的串联连接关系,得到对应的运行容器。
[0012]本专利技术第二方面提供了一种容器构建装置,包括:程序编译模块,用于获取待构建容器程序,并对所述待构建容器程序进行编译,得到多个容器镜像层;镜像过滤模块,用于运行各所述容器镜像层,并根据运行的结果对各所述容器镜像层进行过滤,得到过滤后的容器镜像层;安全标注模块,用于利用复合字段对各所述过滤后的容器镜像层进行串联,并对串联后的容器镜像层进行交集分析以及安全标注,得到标注后的容器镜像层;哈希优化模块,用于对所述标注后的容器镜像层进行哈希计算,得到第一哈希值,并根据所述第一哈希值优化各所述标注后的容器镜像层之间的串联连接关系,得到对应的运行容器。
[0013]可选的,在本专利技术第二方面的第一种实现方式中,所述程序编译模块包括:指令读取单元,用于解析出所述待构建容器程序中的多个指令信息,并从预置指令库中读取各所述指令信息对应容器镜像文件的基础镜像指令;镜像构建单元,用于采用所述基础镜像指令创建各所述指令信息对应的镜像,并根据创建的各个镜像,得到对应的多个容器镜像层。
[0014]可选的,在本专利技术第二方面的第二种实现方式中,所述镜像过滤模块包括:标识符生成单元,用于根据运行的结果生成各所述容器镜像层的标识符,并判断各所述容器镜像层是否存在相同的标识符;镜像过滤单元,用于若各所述容器镜像层存在相同的标识符,则对各所述容器镜像层中标识符相同的容器镜像层进行过滤,得到过滤后的容器镜像层。
[0015]可选的,在本专利技术第二方面的第三种实现方式中,所述安全标注模块包括:层序识别单元,用于识别所述过滤后的容器镜像层中的首层容器镜像以及除首层容器镜像外的其他层容器镜像的运行顺序;镜像标记单元,用于根据所述运行顺序,利用所述第一类字段,对所述首层容器镜像进行标记、以及利用所述第二类字段,对所述其他层容器镜像进行标记,得到标记信息;镜像串联单元,用于根据所述标记信息,对所述首层容器镜像和所述其他层容器镜像进行串联。
[0016]可选的,在本专利技术第二方面的第四种实现方式中,所述安全标注模块还包括:镜像遍历单元,用于遍历串联后的容器镜像层对应的文件结构信息,并根据遍本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种容器构建方法,其特征在于,所述容器构建方法包括:获取待构建容器程序,并对所述待构建容器程序进行编译,得到多个容器镜像层;运行各所述容器镜像层,并根据运行的结果对各所述容器镜像层进行过滤,得到过滤后的容器镜像层;利用复合字段对各所述过滤后的容器镜像层进行串联,并对串联后的容器镜像层进行交集分析以及安全标注,得到标注后的容器镜像层;对所述标注后的容器镜像层进行哈希计算,得到第一哈希值,并根据所述第一哈希值优化各所述标注后的容器镜像层之间的串联连接关系,得到对应的运行容器。2.根据权利要求1所述的容器构建方法,其特征在于,所述对所述待构建容器程序进行编译,得到多个容器镜像层,包括:解析出所述待构建容器程序中的多个指令信息,并从预置指令库中读取各所述指令信息对应容器镜像文件的基础镜像指令;采用所述基础镜像指令创建各所述指令信息对应的镜像,并根据创建的各个镜像,得到对应的多个容器镜像层。3.根据权利要求2所述的容器构建方法,其特征在于,所述根据运行的结果对各所述容器镜像层进行过滤,得到过滤后的容器镜像层,包括:根据运行的结果生成各所述容器镜像层的标识符,并判断各所述容器镜像层是否存在相同的标识符;若各所述容器镜像层存在相同的标识符,则对各所述容器镜像层中标识符相同的容器镜像层进行过滤,得到过滤后的容器镜像层。4.根据权利要求1所述的容器构建方法,其特征在于,所述复合字段包括第一类字段和第二类字段,所述利用复合字段对各所述过滤后的容器镜像层进行串联,包括:识别所述过滤后的容器镜像层中的首层容器镜像以及除首层容器镜像外的其他层容器镜像的运行顺序;根据所述运行顺序,利用所述第一类字段,对所述首层容器镜像进行标记、以及利用所述第二类字段,对所述其他层容器镜像进行标记,得到标记信息;根据所述标记信息,对所述首层容器镜像和所述其他层容器镜像进行串联。5.根据权利要求4所述的容器构建方法,其特征在于,所述对串联后的容器镜像层进行交集分析以及安全标注,得到标注后的容器镜像层,包括:遍历串联后的容器镜像层对应的文件结构信息,并根据遍历的结果,得到各所述串联后的容器镜像层和所述标记信息的存储地址;计算所述存储地址的第二哈希值,并对所述第二哈希值进行哈希映射,得到对应的映射结果;检测各所述映射结果是否不相同,并根据检测的结果,利用预设标...
【专利技术属性】
技术研发人员:董国超,
申请(专利权)人:平安国际智慧城市科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。