一种基于规则的Dockerfile指令行级依赖关系提取方法技术

技术编号:42400130 阅读:24 留言:0更新日期:2024-08-16 16:22
本发明专利技术属于软件工程和容器虚拟化领域,公开了一种基于规则的Dockerfile指令行级依赖关系提取方法,包括:对Dockerfile文件预处理,得到初始特征向量列表;通过初始特征向量列表获取全局变量字典,结合全局变量字典和全局语义扫描,补全初始特征向量中的字段信息,得到完整信息的特征向量列表;针对完整信息的特征向量列表中的完整特征向量,执行基于规则的特征向量间依赖性的判断,得到每两个完整特征向量之间的依赖关系;输出dockerfile文件中保留的所有指令行之间的依赖关系。本发明专利技术实现Dockerfile指令行级依赖关系的精准抽取。

【技术实现步骤摘要】

本专利技术属于软件工程和容器虚拟化领域,具体涉及一种基于规则的dockerfile指令行级依赖关系提取方法。


技术介绍

1、dockerfile是由若干符合特定语法的指令行组成的文本类型配置文件。根据dockerfile可生成相应的容器镜像(image),并最终实例化为容器(container)。dockerfile中的指令行定义了镜像的内容、文件系统结构、运行环境、行为功能等各个方面。dockerfile的部分指令行间存在依赖关系,即指令行间遵守特定的偏序关系,违反指令行间依赖关系将导致镜像构建失败。因此精确提取dockerfile指令行间的依赖关系,可有效提高镜像构建成功率,进而为dockerfile依赖缺失的修复、dockerfile的自动生成等下游任务提供有力的支撑。

2、然而,当前并没有针对dockerfile指令行的依赖提取工具。其主要难点在于三个方面:首先,dockerfile各指令行格式不同,缺乏统一的特征信息抽取与表征方式;其次,dockerfile指令行文本提供信息有限,且指令行间包含大量隐式依赖关系,需要额外信息或专家经验本文档来自技高网...

【技术保护点】

1.一种基于规则的Dockerfile指令行级依赖关系提取方法,其特征在于,所述基于规则的Dockerfile指令行级依赖关系提取方法,包括:

2.根据权利要求1所述的基于规则的Dockerfile指令行级依赖关系提取方法,其特征在于,所述步骤1-2中,根据Dockerfile文件中保留的每个指令行中指令的类型对指令所对应的参数进行预处理,包括:

3.根据权利要求1所述的基于规则的Dockerfile指令行级依赖关系提取方法,其特征在于,所述步骤2-1中,提取指令名为ENV或ARG的初始特征向量中指令值字段的值,得到全局变量字典,包括:

4.根据权利要...

【技术特征摘要】

1.一种基于规则的dockerfile指令行级依赖关系提取方法,其特征在于,所述基于规则的dockerfile指令行级依赖关系提取方法,包括:

2.根据权利要求1所述的基于规则的dockerfile指令行级依赖关系提取方法,其特征在于,所述步骤1-2中,根据dockerfile文件中保留的每个指令行中指令的类型对指令所对应的参数进行预处理,包括:

3.根据权利要求1所述的基于规则的dockerfile指令行级依赖关系提取方法,其特征在于,所述步骤2-1中,提取指令名为env或arg的初始特征向量中指令值字段的值,得到全局变量字典,包括:

4.根据权利要求1所述的基于规则的dockerfile指令行级依赖关系提取方法,其特征在于,所述步骤2-2中,基于全局变量字典,更新其余初始特征向量中的指令值字段的值,得到去除参数后的特征向量列表,包括:

5.根据权利要求1所述的基于规则的dockerfile指令行级依赖关系提取方法,其特征在于,所述步骤2-3中,对去除参数后的特征向量列表进行全局语义扫描,按序更新所有去参数特征向量中所属用户字段和所在位置字段的值...

【专利技术属性】
技术研发人员:陈铁明钟云锦朱志凌孔浩彬宋琪杰朱添田吕明琪顾国民刘承威
申请(专利权)人:浙江工业大学
类型:发明
国别省市:

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

1