CN114443075A - 一种镜像构建方法、装置和存储介质 - Google Patents
一种镜像构建方法、装置和存储介质 Download PDFInfo
- Publication number
- CN114443075A CN114443075A CN202210088348.5A CN202210088348A CN114443075A CN 114443075 A CN114443075 A CN 114443075A CN 202210088348 A CN202210088348 A CN 202210088348A CN 114443075 A CN114443075 A CN 114443075A
- Authority
- CN
- China
- Prior art keywords
- mirror image
- dependency
- stage
- image construction
- dockerfile
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010276 construction Methods 0.000 title claims abstract description 136
- 238000003860 storage Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 28
- 101001062338 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) Dihydrofolate synthetase Proteins 0.000 claims description 25
- 101000892866 Schizosaccharomyces pombe (strain 972 / ATCC 24843) Probable dihydrofolate synthetase Proteins 0.000 claims description 25
- 230000001419 dependent effect Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004904 shortening Methods 0.000 abstract description 2
- 238000004590 computer program Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 238000009434 installation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种镜像构建方法、装置和存储介质,方法包括以下步骤:解析Dockerfile文件,基于所述Dockerfile文件获取镜像构建阶段;基于所述镜像构建阶段,获取基础镜像及依赖信息;基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段,实现了对最小依赖阶段的确定及构建,跳过了不必要的构建阶段,有效地缩短镜像构建的时长;基于Dockerfile执行顺序及所述基础镜像,生成docker镜像及镜像构建过程依赖图,在顺利完成镜像构建的同时,增强了Dockerfile的可读性,且提升了构建镜像的可维护性。
Description
技术领域
本发明涉及镜像构建技术领域,尤其是指一种镜像构建方法、装置和存储介质。
背景技术
Kaniko是一款开源镜像构建工具,Kaniko不依赖于DockerDaemon进程,在用户空间根据Dockerfile的内容逐条执行命令构建镜像。
现有技术中,Dockerfile多级构建镜像按顺序执行,有些构建阶段在最终目标构建镜像阶段不使用这些构建阶段时,但是现有的Dockerfile多级构建镜像方法仍采用按顺序执行,在执行过程中不对构建阶段的实用性进行判断,如此一来,增加了不必要的构建时间;而且,Dockerfile多级构建镜像阶段的基础镜像间及其依赖信息复杂,Dockerfile可读性差,可维护性低。
因此,急需提出一种可以降低镜像构建时间、提升Dockerfile可读性和可维护性的镜像构建方法、装置和存储介质。
发明内容
为了解决上述技术问题,本发明提供了一种镜像构建方法、装置和存储介质,可以缩短镜像构建的时间,可以增强Dockerfile的可读性,可以提高构建镜像的可维护性。
为实现上述目的,本申请提出第一技术方案:
一种镜像构建方法,包括以下步骤:解析Dockerfile文件,基于所述Dockerfile文件获取镜像构建阶段;基于所述镜像构建阶段,获取基础镜像及依赖信息;基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段;基于Dockerfile执行顺序及所述基础镜像,生成docker镜像及镜像构建过程依赖图。
在本发明的一个实施例中,所述基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段具体包括:基于所述基础镜像与所述依赖信息,获取所述Dockerfile文件的镜像构建阶段;判断所述镜像构建阶段是否存在于预设的镜像构建阶段存储系统中,若所述镜像构建阶段不存在于预设的镜像构建阶段存储系统中,则定义所述镜像构建阶段为最小依赖阶段。
在本发明的一个实施例中,所述基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段还包括:若所述镜像构建阶段存在于预设的镜像构建阶段存储系统中,或/和,所述镜像构建阶段为非必要镜像构建阶段,则定义所述镜像构建阶段为不必要编译阶段。
在本发明的一个实施例中,基于Dockerfile执行顺序,生成docker镜像具体包括:基于Dockerfile执行顺序,执行所述最小依赖阶段,跳过所述不必要编译阶段;基于所述最小依赖阶段,拉取与所述最小依赖阶段对应的基础镜像和依赖信息。
在本发明的一个实施例中,基于所述最小依赖阶段,拉取与所述最小依赖阶段对应的基础镜像和依赖信息包括:在预设的Harbor仓库中搜索所述基础镜像,在预设的DHFS服务器上搜索所述依赖信息。
在本发明的一个实施例中,基于Dockerfile执行顺序,生成docker镜像还包括:若在预设的Harbor仓库中未搜索到所述基础镜像,则基于所述最小依赖阶段,编译与所述最小依赖阶段对应的基础镜像;若在预设的DHFS服务器上未搜索到所述依赖信息,则基于所述最小依赖极端,编译与所述最小依赖阶段对应的依赖信息。
在本发明的一个实施例中,编译与所述最小依赖阶段对应的基础镜像和依赖信息还包括:将所述基础镜像上传至预设的Harbor仓库;将所述依赖信息上传至预设的DHFS服务器。
在本发明的一个实施例中,判断所述基础镜像是否成功上传至预设的Harbor仓库,若所述基础镜像未成功上传至预设的Harbor仓库,则存储所述基础镜像至镜像构建服务的挂载卷,解析所述基础镜像,并推送至Harbor仓库;判断所述依赖信息是否上传至预设的DHFS服务器,若所述依赖信息未成功上传至预设的DHFS服务器,则存储所述依赖信息至镜像构建服务的挂载卷。
为实现上述目的,本申请还提出第二技术方案:
一种镜像构建装置,所述装置包括:解析单元,以用于解析Dockerfile文件,并基于所述Dockerfile文件获取镜像构建阶段;获取单元,所述获取单元与所述解析单元通信连接,所述获取单元基于所述镜像构建阶段,以获取基础镜像及依赖信息;选择单元,所述选择单元与所述获取单元通信连接,所述选择单元基于所述基础镜像及依赖信息,以用于确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段;生成单元,所述生成单元与所述选择单元通信连接,所述生成单元基于Dockerfile执行顺序及所述基础镜像,生成docker镜像及镜像构建过程依赖图。
为实现上述目的,本申请提出第三技术方案:
一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行所述方法的步骤。
本发明的上述技术方案相比现有技术具有以下优点:
本发明所述的一种镜像构建方法、装置和存储介质,解析Dockerfile文件,基于所述Dockerfile文件获取镜像构建阶段;基于所述镜像构建阶段,获取基础镜像及依赖信息;基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段,实现了对最小依赖阶段的确定及构建,跳过了不必要的构建阶段,有效地缩短镜像构建的时长;基于Dockerfile执行顺序及所述基础镜像,生成docker镜像及镜像构建过程依赖图,在顺利完成镜像构建的同时,增强了Dockerfile的可读性,且提升了构建镜像的可维护性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明的方法流程图;
图2是本发明的方法流程图;
图3是本发明的装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
参照图1所示,图1为实施例一的方法流程图。
本实施例的方法,包括以下步骤:网络(Web)界面将Dockerfile发送到服务层,服务层的构建镜像服务收到Dockerfile文件;解析Dockerfile文件,基于所述Dockerfile文件获取镜像构建阶段;基于所述镜像构建阶段,获取基础镜像及依赖信息;基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段;基于Dockerfile执行顺序及所述基础镜像,生成docker镜像及镜像构建过程依赖图。
在其中一个实施方式中,所述基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段具体包括:基于所述基础镜像与所述依赖信息,获取所述Dockerfile文件的镜像构建阶段;判断所述镜像构建阶段是否存在于预设的镜像构建阶段存储系统中,若所述镜像构建阶段不存在于预设的镜像构建阶段存储系统中,则定义所述镜像构建阶段为最小依赖阶段。
在其中一个实施方式中,所述基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段还包括:若所述镜像构建阶段存在于预设的镜像构建阶段存储系统中,或/和,所述镜像构建阶段为非必要镜像构建阶段,则定义所述镜像构建阶段为不必要编译阶段。
在其中一个实施方式中,基于Dockerfile执行顺序,生成docker镜像具体包括:基于Dockerfile执行顺序,执行所述最小依赖阶段,跳过所述不必要编译阶段;基于所述最小依赖阶段,拉取与所述最小依赖阶段对应的基础镜像和依赖信息。
在其中一个实施方式中,基于所述最小依赖阶段,拉取与所述最小依赖阶段对应的基础镜像和依赖信息包括:在预设的Harbor仓库中搜索所述基础镜像,在预设的DHFS服务器上搜索所述依赖信息。
在其中一个实施方式中,基于Dockerfile执行顺序,生成docker镜像还包括:若在预设的Harbor仓库中未搜索到所述基础镜像,则基于所述最小依赖阶段,编译与所述最小依赖阶段对应的基础镜像;若在预设的DHFS服务器上未搜索到所述依赖信息,则基于所述最小依赖极端,编译与所述最小依赖阶段对应的依赖信息。
在其中一个实施方式中,编译与所述最小依赖阶段对应的基础镜像和依赖信息还包括:将所述基础镜像上传至预设的Harbor仓库;将所述依赖信息上传至预设的DHFS服务器。
在其中一个实施方式中,如图2所示,所述方法还包括:判断所述基础镜像是否成功上传至预设的Harbor仓库,若所述基础镜像未成功上传至预设的Harbor仓库,则存储所述基础镜像至镜像构建服务的挂载卷,解析所述基础镜像,并推送至Harbor仓库;判断所述依赖信息是否上传至预设的DHFS服务器,若所述依赖信息未成功上传至预设的DHFS服务器,则存储所述依赖信息至镜像构建服务的挂载卷。需要理解的是,在基础镜像和依赖信息上传的过程中,如果遇到例如:网络延迟、系统不稳定等原因而造成数据信息上传失败的情况时,用于实现基础镜像和依赖信息上传的系统会提供重新上传的功能。
在其中一个实施方式中,在镜像构建阶段解析Dockerfile在Harbor上拉取相应基础镜像,在HDFS服务器上直接下载相应的依赖数据,Dockerfile中安装指令可以通过安装源服务找到相应版本的需要安装的软件包,完成安装软件包指令。基础镜像和依赖数据可以在构建其他镜像时,可以重复使用。镜像构建阶段,指定Kaniko可执行程序所需要的Dockerfile文件位置,生成镜像推送地址。
实施例二:
本实施例的方法,包括以下步骤:
S10,解析Dockerfile文件,基于所述Dockerfile文件获取镜像构建阶段;
S20,基于所述镜像构建阶段,获取基础镜像及依赖信息;
S30,基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段;
S40,基于Dockerfile执行顺序及所述基础镜像,生成docker镜像及镜像构建过程依赖图。
在其中一个实施方式中,所述基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段具体包括:基于所述基础镜像与所述依赖信息,获取所述Dockerfile文件的镜像构建阶段;判断所述镜像构建阶段是否存在于预设的镜像构建阶段存储系统中,若所述镜像构建阶段不存在于预设的镜像构建阶段存储系统中,则定义所述镜像构建阶段为最小依赖阶段。
在其中一个实施方式中,所述基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段还包括:若所述镜像构建阶段存在于预设的镜像构建阶段存储系统中,或/和,所述镜像构建阶段为非必要镜像构建阶段,则定义所述镜像构建阶段为不必要编译阶段。
在其中一个实施方式中,基于Dockerfile执行顺序,生成docker镜像具体包括:基于Dockerfile执行顺序,执行所述最小依赖阶段,跳过所述不必要编译阶段;基于所述最小依赖阶段,拉取与所述最小依赖阶段对应的基础镜像和依赖信息。
在其中一个实施方式中,基于所述最小依赖阶段,拉取与所述最小依赖阶段对应的基础镜像和依赖信息包括:在预设的Harbor仓库中搜索所述基础镜像,在预设的DHFS服务器上搜索所述依赖信息。
在其中一个实施方式中,基于Dockerfile执行顺序,生成docker镜像还包括:若在预设的Harbor仓库中未搜索到所述基础镜像,则基于所述最小依赖阶段,编译与所述最小依赖阶段对应的基础镜像;若在预设的DHFS服务器上未搜索到所述依赖信息,则基于所述最小依赖极端,编译与所述最小依赖阶段对应的依赖信息。
在其中一个实施方式中,编译与所述最小依赖阶段对应的基础镜像和依赖信息还包括:将所述基础镜像上传至预设的Harbor仓库;将所述依赖信息上传至预设的DHFS服务器。
在其中一个实施方式中,所述方法还包括:判断所述基础镜像是否成功上传至预设的Harbor仓库,若所述基础镜像未成功上传至预设的Harbor仓库,则存储所述基础镜像至镜像构建服务的挂载卷,解析所述基础镜像,并推送至Harbor仓库;判断所述依赖信息是否上传至预设的DHFS服务器,若所述依赖信息未成功上传至预设的DHFS服务器,则存储所述依赖信息至镜像构建服务的挂载卷。
实施例三:
参照图3所示,图3为实施例三的装置结构图。
本实施例的装置,包括:解析单元,以用于解析Dockerfile文件,并基于所述Dockerfile文件获取镜像构建阶段;获取单元,所述获取单元与所述解析单元通信连接,所述获取单元基于所述镜像构建阶段,以获取基础镜像及依赖信息;选择单元,所述选择单元与所述获取单元通信连接,所述选择单元基于所述基础镜像及依赖信息,以用于确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段;生成单元,所述生成单元与所述选择单元通信连接,所述生成单元基于Dockerfile执行顺序及所述基础镜像,生成docker镜像及镜像构建过程依赖图。
实施例四:
本实施例提供一种计算机可读存储介质,计算机可读存储介质存储有程序,当程序被处理器执行时,使得处理器执行上述实施例一和实施例二中的镜像构建方法的步骤,所述步骤具体包括:
解析Dockerfile文件,基于所述Dockerfile文件获取镜像构建阶段;基于所述镜像构建阶段,获取基础镜像及依赖信息;基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段;基于Dockerfile执行顺序及所述基础镜像,生成docker镜像及镜像构建过程依赖图。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:基于所述基础镜像与所述依赖信息,获取所述Dockerfile文件的镜像构建阶段;判断所述镜像构建阶段是否存在于预设的镜像构建阶段存储系统中,若所述镜像构建阶段不存在于预设的镜像构建阶段存储系统中,则定义所述镜像构建阶段为最小依赖阶段。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:若所述镜像构建阶段存在于预设的镜像构建阶段存储系统中,或/和,所述镜像构建阶段为非必要镜像构建阶段,则定义所述镜像构建阶段为不必要编译阶段。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:基于Dockerfile执行顺序,执行所述最小依赖阶段,跳过所述不必要编译阶段;基于所述最小依赖阶段,拉取与所述最小依赖阶段对应的基础镜像和依赖信息。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:在预设的Harbor仓库中搜索所述基础镜像,在预设的DHFS服务器上搜索所述依赖信息。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:若在预设的Harbor仓库中未搜索到所述基础镜像,则基于所述最小依赖阶段,编译与所述最小依赖阶段对应的基础镜像;若在预设的DHFS服务器上未搜索到所述依赖信息,则基于所述最小依赖极端,编译与所述最小依赖阶段对应的依赖信息。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:将所述基础镜像上传至预设的Harbor仓库;将所述依赖信息上传至预设的DHFS服务器。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:判断所述基础镜像是否成功上传至预设的Harbor仓库,若所述基础镜像未成功上传至预设的Harbor仓库,则存储所述基础镜像至镜像构建服务的挂载卷,解析所述基础镜像,并推送至Harbor仓库;判断所述依赖信息是否上传至预设的DHFS服务器,若所述依赖信息未成功上传至预设的DHFS服务器,则存储所述依赖信息至镜像构建服务的挂载卷。
本领域内的技术人员应明白,本发明实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例中是参照根据本发明实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种镜像构建方法,其特征在于,所述方法包括以下步骤:
解析Dockerfile文件,基于所述Dockerfile文件获取镜像构建阶段;
基于所述镜像构建阶段,获取基础镜像及依赖信息;
基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段;
基于Dockerfile执行顺序及所述基础镜像,生成docker镜像及镜像构建过程依赖图。
2.根据权利要求1所述的镜像构建方法,其特征在于,所述基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段具体包括:
基于所述基础镜像与所述依赖信息,获取所述Dockerfile文件的镜像构建阶段;
判断所述镜像构建阶段是否存在于预设的镜像构建阶段存储系统中,若所述镜像构建阶段不存在于预设的镜像构建阶段存储系统中,则定义所述镜像构建阶段为最小依赖阶段。
3.根据权利要求2所述的镜像构建方法,其特征在于,所述基于所述基础镜像及所述依赖信息,确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段还包括:
若所述镜像构建阶段存在于预设的镜像构建阶段存储系统中,或/和,所述镜像构建阶段为非必要镜像构建阶段,则定义所述镜像构建阶段为不必要编译阶段。
4.根据权利要求2所述的镜像构建方法,其特征在于,基于Dockerfile执行顺序,生成docker镜像具体包括:
基于Dockerfile执行顺序,执行所述最小依赖阶段,跳过所述不必要编译阶段;
基于所述最小依赖阶段,拉取与所述最小依赖阶段对应的基础镜像和依赖信息。
5.根据权利要求4所述的镜像构建方法,其特征在于,基于所述最小依赖阶段,拉取与所述最小依赖阶段对应的基础镜像和依赖信息包括:
在预设的Harbor仓库中搜索所述基础镜像,在预设的DHFS服务器上搜索所述依赖信息。
6.根据权利要求5所述的镜像构建方法,其特征在于,基于Dockerfile执行顺序,生成docker镜像还包括:
若在预设的Harbor仓库中未搜索到所述基础镜像,则基于所述最小依赖阶段,编译与所述最小依赖阶段对应的基础镜像;
若在预设的DHFS服务器上未搜索到所述依赖信息,则基于所述最小依赖极端,编译与所述最小依赖阶段对应的依赖信息。
7.根据权利要求6所述的镜像构建方法,其特征在于,编译与所述最小依赖阶段对应的基础镜像和依赖信息还包括:
将所述基础镜像上传至预设的Harbor仓库;将所述依赖信息上传至预设的DHFS服务器。
8.根据权利要求7所述的镜像构建方法,其特征在于,所述方法还包括:
判断所述基础镜像是否成功上传至预设的Harbor仓库,若所述基础镜像未成功上传至预设的Harbor仓库,则存储所述基础镜像至镜像构建服务的挂载卷,解析所述基础镜像,并推送至Harbor仓库;
判断所述依赖信息是否上传至预设的DHFS服务器,若所述依赖信息未成功上传至预设的DHFS服务器,则存储所述依赖信息至镜像构建服务的挂载卷。
9.一种镜像构建装置,其特征在于,所述装置包括:
解析单元,以用于解析Dockerfile文件,并基于所述Dockerfile文件获取镜像构建阶段;
获取单元,所述获取单元与所述解析单元通信连接,所述获取单元基于所述镜像构建阶段,以获取基础镜像及依赖信息;
选择单元,所述选择单元与所述获取单元通信连接,所述选择单元基于所述基础镜像及依赖信息,以用于确定所述Dockerfile文件的最小依赖阶段与不必要编译阶段;
生成单元,所述生成单元与所述选择单元通信连接,所述生成单元基于Dockerfile执行顺序及所述基础镜像,生成docker镜像及镜像构建过程依赖图。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行如权利要求1~8中任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210088348.5A CN114443075A (zh) | 2022-01-25 | 2022-01-25 | 一种镜像构建方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210088348.5A CN114443075A (zh) | 2022-01-25 | 2022-01-25 | 一种镜像构建方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114443075A true CN114443075A (zh) | 2022-05-06 |
Family
ID=81369207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210088348.5A Pending CN114443075A (zh) | 2022-01-25 | 2022-01-25 | 一种镜像构建方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114443075A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230244467A1 (en) * | 2022-02-03 | 2023-08-03 | Red Hat, Inc. | Reducing the size of image files usable for deploying software in computing environments |
-
2022
- 2022-01-25 CN CN202210088348.5A patent/CN114443075A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230244467A1 (en) * | 2022-02-03 | 2023-08-03 | Red Hat, Inc. | Reducing the size of image files usable for deploying software in computing environments |
US11928452B2 (en) * | 2022-02-03 | 2024-03-12 | Red Hat, Inc. | Reducing the size of image files usable for deploying software in computing environments |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110377290B (zh) | 一种目标工程编译的方法、装置及设备 | |
CN111209005B (zh) | 程序文件的编译方法、装置和计算机可读存储介质 | |
CN107797820B (zh) | 用于生成补丁的方法和装置 | |
US9779158B2 (en) | Method, apparatus, and computer-readable medium for optimized data subsetting | |
US11029943B1 (en) | Processing framework for in-system programming in a containerized environment | |
US20150324178A1 (en) | Hash-based change tracking for software make tools | |
CN110737460A (zh) | 一种平台项目管理方法及装置 | |
US20130081002A1 (en) | Selective data flow analysis of bounded regions of computer software applications | |
CN111427579A (zh) | 插件、应用程序实现方法及系统和计算机系统及存储介质 | |
CN111049889A (zh) | 一种静态资源上传方法、装置、集成服务器和系统 | |
CN114443075A (zh) | 一种镜像构建方法、装置和存储介质 | |
WO2015003452A1 (en) | Methods and systems for file processing | |
US9116714B2 (en) | Methods and systems for file processing | |
CN110704025A (zh) | 编码规范工具的生成方法和装置、存储介质、电子设备 | |
CN111459490B (zh) | 一种自动适配硬件平台的语音识别引擎移植方法及装置 | |
CN110083351B (zh) | 用于生成代码的方法和装置 | |
CN113360156B (zh) | 一种ios编译方法及相关设备 | |
CN114816437A (zh) | 一种逆向生成Java实体类的方法、系统和设备 | |
CN110362320B (zh) | 一种应用开发平台的命令实现方法和装置 | |
CN114022105A (zh) | 数据处理方法、装置、电子设备和可读存储介质 | |
CN115964061A (zh) | 插件更新方法、装置、电子设备和计算机可读存储介质 | |
CN114968247A (zh) | 预编译方法、设备和计算机程序产品 | |
CN111241159A (zh) | 确定任务执行时间的方法及装置 | |
CN111580834B (zh) | 一种应用安装包的生成方法和装置 | |
EP4254171A1 (en) | Generation program, generation method, and information processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |