一种容器镜像构建方法、装置、设备及介质与流程

摘要: 本发明涉及计算机,具体涉及一种容器镜像构建方法、装置、设备及介质。背景技术:1、随着数字化转型加速,容器技术凭借轻量化、可移植、易部署的优势,已广泛应用于各类项...
一种容器镜像构建方法、装置、设备及介质与流程

本发明涉及计算机,具体涉及一种容器镜像构建方法、装置、设备及介质。

背景技术:

1、随着数字化转型加速,容器技术凭借轻量化、可移植、易部署的优势,已广泛应用于各类项目的部署过程中。

2、相关技术中,容器镜像构建相关的依赖管理及镜像构建的方式中,通过人工筛选方式剔除部分明显冗余的依赖,然后直接将项目剩余依赖包统一整合至容器镜像中。

3、然而,人工逐一对依赖包进行排查筛选,易出现依赖剔除不准确,导致容器镜像构建稳定性差的问题。

4、因此,亟需一种能够准确进行依赖剔除的方法。

技术实现思路

1、本发明所要解决的技术问题是人工逐一对依赖包进行排查筛选,易出现依赖剔除不准确,导致容器镜像构建稳定性差。

2、本发明解决上述技术问题的技术方案如下:一种容器镜像构建方法,该方法包括:获取目标项目的应用依赖包的项目静态依赖信息和应用动态调用信息;对静态依赖信息和动态调用信息进行融合分析,得到应用依赖包对应的依赖使用状态和漏洞标记信息;基于依赖使用状态和/或漏洞标记信息,对应用依赖包执行依赖裁剪,得到应用依赖包对应的目标依赖集;基于目标依赖集,构建目标项目对应的容器镜像。

3、本发明的有益效果是:通过获取项目静态依赖信息和应用动态调用信息,并对两者进行融合分析,精准得到应用依赖包的依赖使用状态和漏洞标记信息,再基于该信息对应用依赖包执行针对性依赖裁剪以得到目标依赖集,最终基于目标依赖集构建容器镜像,全程无需人工逐一对依赖包进行排查筛选,有效避免了人工筛选易出现的依赖剔除不准确问题,从而提升了容器镜像构建的稳定性。

4、在上述技术方案的基础上,本发明还可以做如下改进。

5、进一步,对静态依赖信息和动态调用信息进行融合分析,得到应用依赖包对应的依赖使用状态和漏洞标记信息,包括:将静态依赖信息和动态调用信息进行对应关联,得到关联结果;基于关联结果,确定应用依赖包是否被使用,得到应用依赖包对应的依赖使用状态;将应用依赖包和漏洞数据库进行匹配,得到匹配结果;根据匹配结果,对应用依赖包标记漏洞等级,得到漏洞标记信息。

6、采用上述进一步方案的有益效果是通过将静态依赖信息与动态调用信息对应关联以精准确定应用依赖包是否被使用,得到真实可靠的依赖使用状态,同时将应用依赖包与漏洞数据库匹配并标记漏洞等级,能够全面、准确地获取依赖使用状态与漏洞标记信息,有效避免仅依赖静态分析导致的依赖使用状态判定偏差问题。

7、进一步,基于依赖使用状态和/或漏洞标记信息,对应用依赖包执行依赖裁剪,得到应用依赖包对应的目标依赖集,包括:基于依赖使用状态和/或漏洞标记信息,利用预设裁剪策略,对应用依赖包进行依赖裁剪,得到目标应用依赖包;对目标应用依赖包进行整合处理,得到目标依赖集;其中,目标应用依赖包指示被实际使用且未存在高危风险的应用依赖包。

8、采用上述进一步方案的有益效果是通过依赖使用状态和/或漏洞标记信息,利用预设裁剪策略对应用依赖包执行裁剪以得到目标应用依赖包,再经整合处理获得目标依赖集,且目标应用依赖包为被实际使用且无高危风险的依赖包,能够精准剔除冗余依赖与存在高危风险的依赖包,确保依赖裁剪结果准确可靠,同时保障目标依赖集兼具使用有效性与安全性。

9、进一步,基于依赖使用状态和/或漏洞标记信息,利用预设裁剪策略,对应用依赖包进行依赖裁剪,得到目标应用依赖包,包括:基于依赖使用状态,从应用依赖包中识别并剔除所有未被使用的第一冗余应用依赖包,得到目标应用依赖包。

10、采用上述进一步方案的有益效果是通过依赖使用状态,从应用依赖包中识别并剔除所有未被使用的第一冗余应用依赖包以得到目标应用依赖包,能够精准去除无效冗余依赖,避免依赖裁剪误判。

11、进一步,基于依赖使用状态和/或漏洞标记信息,利用预设裁剪策略,对应用依赖包进行依赖裁剪,得到目标应用依赖包,包括:基于漏洞标记信息和依赖使用状态,从应用依赖包中识别并剔除未被实际使用且标记为高危漏洞的应用依赖包,得到第一目标应用依赖包;基于漏洞标记信息和依赖使用状态,从第一目标应用依赖包中剔除未被使用、无漏洞的第二冗余应用依赖包,得到目标应用依赖包。

12、采用上述进一步方案的有益效果是通过漏洞标记信息与依赖使用状态,从应用依赖包中识别并剔除未被实际使用且标记为高危漏洞的应用依赖包得到第一目标应用依赖包,再基于漏洞标记信息与依赖使用状态,从第一目标应用依赖包中剔除未被使用、无漏洞的第二冗余应用依赖包得到目标应用依赖包,能够优先消除高危安全隐患,再进一步精简无风险冗余依赖,实现安全与精简双重保障。

13、进一步,基于依赖使用状态和/或漏洞标记信息,利用预设裁剪策略,对应用依赖包进行依赖裁剪,得到目标应用依赖包,包括:基于漏洞标记信息和依赖使用状态,识别并剔除所有未被使用的第一冗余应用依赖包,得到待处理应用依赖包;基于漏洞标记信息和依赖使用状态,从待处理应用依赖包中识别并剔除不影响应用启动核心功能的第三冗余应用依赖包,得到目标应用依赖包。

14、采用上述进一步方案的有益效果是通过漏洞标记信息和依赖使用状态识别并剔除所有未被使用的第一冗余应用依赖包,得到待处理应用依赖包,再从待处理应用依赖包中剔除不影响应用启动核心功能的第三冗余应用依赖包以得到目标应用依赖包,能够先清除全部未使用冗余依赖,再进一步移除非核心冗余依赖,实现分层精简,保证裁剪后的目标应用依赖包仅保留应用必需依赖,提升依赖纯净度。

15、进一步,基于目标依赖集,构建目标项目对应的容器镜像,包括:依据目标依赖集,适配生成对应的定制化运行环境;将目标项目、目标依赖集以及定制化运行环境进行整合封装,构建得到对应的容器镜像。

16、采用上述进一步方案的有益效果是通过目标依赖集适配生成对应的定制化运行环境,再将目标项目、目标依赖集以及定制化运行环境整合封装以构建得到对应的容器镜像,由此可推导出该构建方式能够使运行环境与目标依赖集精准匹配,避免冗余环境组件,保证容器镜像构建的稳定性。

17、进一步,本发明提供了容器镜像构建装置,该装置包括:获取模块,用于获取目标项目的应用依赖包的项目静态依赖信息和应用动态调用信息;融合分析模块,用于对静态依赖信息和动态调用信息进行融合分析,得到应用依赖包对应的依赖使用状态和漏洞标记信息;依赖裁剪模块,用于基于依赖使用状态和/或漏洞标记信息,对应用依赖包执行依赖裁剪,得到应用依赖包对应的目标依赖集;构建模块,用于基于目标依赖集,构建目标项目对应的容器镜像。

18、进一步,本技术提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的容器镜像构建方法。

19、进一步,本技术提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的容器镜像构建方法。

20、进一步,本技术提供了一种计算机程序产品,包括计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的容器镜像构建方法。