CN117032739B - 一种镜像生成的方法、***、存储介质及电子设备 - Google Patents
一种镜像生成的方法、***、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117032739B CN117032739B CN202311285993.7A CN202311285993A CN117032739B CN 117032739 B CN117032739 B CN 117032739B CN 202311285993 A CN202311285993 A CN 202311285993A CN 117032739 B CN117032739 B CN 117032739B
- Authority
- CN
- China
- Prior art keywords
- file
- image
- resource
- information
- instruction
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000003860 storage Methods 0.000 title claims abstract description 42
- 238000010276 construction Methods 0.000 claims abstract description 97
- 239000000463 material Substances 0.000 claims abstract description 94
- 238000009434 installation Methods 0.000 claims description 74
- 238000001514 detection method Methods 0.000 claims description 62
- 230000004044 response Effects 0.000 claims description 38
- 238000005516 engineering process Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 15
- 238000007726 management method Methods 0.000 description 80
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 22
- 238000013500 data storage Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000007613 environmental effect Effects 0.000 description 9
- 230000001419 dependent effect Effects 0.000 description 8
- 230000006872 improvement Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000011664 nicotinic acid Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本说明书公开了一种镜像生成的方法、***、存储介质及电子设备,包括:确定用户选择的生成目标镜像文件所需的基础镜像的环境信息,并展示给用户。再确定基于基础镜像生成目标镜像文件时所需的其他资源的资源信息,并根据资源信息,从资源库中确定生成目标镜像文件时所需的材料文件。根据环境信息和资源信息,采用指定规则,生成目标镜像文件对应的指令文件。根据材料文件及基础镜像,按照指令文件中的指令,自动完成目标镜像的构建。所述***和方法使得用户无需掌握复杂的镜像构建语法,降低目标镜像构建的技术门槛,并能快速生成符合要求的目标镜像,提高了镜像构建的效率。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种镜像生成的方法、***、存储介质及电子设备。
背景技术
随着科技的不断发展,云技术越来越成熟。其中,云原生技术的应用场景越来越多,通过利用镜像技术和容器技术,可以快速简单的在不同设备上部署应用。
现有技术中,由于硬件设备的差异、用户需求的差异以及应用场景的差异,需要用户制作对应的镜像文件,以满足上述差异化对镜像文件的要求。比如,在若干主机上安装同一个应用程序时,针对每一个主机,用户需要在该主机上配置应用程序的运行环境。为了避免每在一个主机上安装应用程序,就需要配置一次应用程序的运行环境,可提前将应用程序的运行环境做成镜像文件。故在每一次安装应用程序时,可以直接将配置好的运行环境的镜像文件迁移到需要配置的主机上即可。
因此,如何生成镜像以满足用户的需求是一个重要的问题。基于此,本说明书提供一种镜像生成的方法。
发明内容
本说明书提供一种镜像生成的方法、装置、存储介质及电子设备,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种镜像生成的方法,包括:
响应于用户的选择操作,从预先配置的资源库中,确定生成目标镜像文件所需的基础镜像;
确定所述基础镜像的环境信息,并展示给所述用户;
响应于所述用户的输入操作,确定基于所述基础镜像生成所述目标镜像文件所需的其他资源的资源信息,其中,所述资源信息至少包括安装器标识、安装器配置源标识以及软件框架的信息中的一种;
根据所述资源信息,从所述资源库中,确定生成所述目标镜像文件所需的文件,作为材料文件,并将所述材料文件复制到指定目录;
根据所述环境信息和所述资源信息,采用指定规则,在所述指定目录下,生成所述目标镜像文件对应的指令文件;
根据所述材料文件以及所述基础镜像,按照所述指令文件中的指令,调用镜像构建技术,生成所述目标镜像文件。
可选地,在响应于用户的选择操作,从预先配置的资源库中,确定生成目标镜像文件所需的基础镜像之前,所述方法还包括:
显示预先配置的资源库给用户,其中,所述资源库包括镜像资源、安装器资源、安装器配置源资源以及软件框架资源;
响应于所述用户的上传操作,确定所述用户上传的资源文件,并将所述资源文件存入所述资源库中。
可选地,确定所述基础镜像的环境信息,具体包括:
对所述基础镜像进行镜像检测,得到所述基础镜像的镜像检测结果,其中,所述基础镜像至少包含环境内核以及操作***;
根据所述镜像检测结果,确定所述基础镜像的环境信息,其中,所述环境信息至少包括所述环境内核的信息以及所述操作***的信息。
可选地,根据所述资源信息,从所述资源库中,确定生成所述目标镜像文件所需的文件,作为材料文件,具体包括:
判断所述资源库中是否存在所述资源信息对应的资源的文件;
若是,根据所述安装器标识、所述安装器配置源标识以及所述软件框架信息,从所述资源库中,确定所述安装器标识对应的安装器的可执行文件、所述安装器配置源标识对应的配置源文件以及所述软件框架的信息对应的安装文件;将所述可执行文件、所述配置源文件以及所述安装文件作为生成所述目标镜像文件所需的材料文件;
若否,根据所述资源信息,向外部远端文件仓库发送资源获取请求,使所述外部远端文件仓库根据所述资源信息,查询所述资源信息对应的资源的文件,并返回;接收所述外部远端文件仓库返回的文件,并将所述文件作为生成所述目标镜像文件所需的材料文件。
可选地,根据所述环境信息和所述资源信息,采用指定规则,在所述指定目录下,生成所述目标镜像文件对应的指令文件,具体包括:
根据所述安装器标识,确定所述安装器标识对应的安装器的安装规则;
根据所述环境信息以及所述资源信息,采用指定规则,生成基础镜像指令、资源配置指令以及文件指令;根据所述安装规则以及所述软件框架信息,采用所述指定规则,生成所述安装器标识对应的安装器的安装指令以及所述软件框架的安装指令;其中,所述文件指令为从所述指定目录下拷贝所述材料文件的指令;
根据所述基础镜像指令、所述资源配置指令、所述文件指令、所述安装器标识对应的安装器的安装指令以及所述软件框架的安装指令,在所述指定目录下,生成所述目标镜像文件对应的指令文件。
本说明书提供了一种镜像生成的***,所述***包括资源管理模块、镜像管理模块以及镜像构建模块,其中:
所述资源管理模块用于存储预先配置的资源库;
所述镜像管理模块用于存储镜像资源;
所述镜像构建模块用于响应于用户的输入操作,从所述镜像管理模块中存储的镜像资源中获取生成目标镜像文件所需的基础镜像,确定所述基础镜像的环境信息,并展示给所述用户,响应于所述用户的输入操作,确定基于所述基础镜像生成所述目标镜像文件所需的其他资源的资源信息,根据所述资源信息,从所述资源管理模块中的所述资源库,获取生成所述目标镜像文件所需的文件,作为材料文件,并将所述材料文件复制到指定目录,根据所述环境信息和所述资源信息,采用指定规则,在所述指定目录下,生成所述目标镜像文件对应的指令文件,根据所述材料文件以及所述基础镜像,按照所述指令文件中的指令,调用镜像构建技术,生成所述目标镜像文件,其中,所述资源信息至少包括安装器标识、安装器配置源标识以及软件框架的信息中的一种。
可选地,所述资源管理模块还用于显示所述资源库给用户,响应于所述用户的上传操作,确定所述用户上传的资源文件,并将所述资源文件存入所述资源库中,其中,所述资源库包括安装器资源、安装器配置源资源以及软件框架资源。
可选地,所述镜像管理模块还用于对镜像进行镜像检测,得到镜像检测结果,根据所述镜像检测结果,确定镜像的环境信息,并存储,其中,所述镜像至少包括环境内核以及操作***,所述环境信息至少包括所述环境内核的信息以及所述操作***的信息。
所述镜像构建模块具体用于,从所述镜像管理模块存储的镜像的环境信息中,确定所述基础镜像对应的环境信息。
可选地,所述镜像构建模块具体用于,判断所述资源库中是否存在所述资源信息对应的资源的文件,若是,根据所述安装器标识、所述安装器配置源标识以及所述软件框架信息,从所述资源管理模块中的所述资源库,确定所述安装器标识对应的安装器的可执行文件、所述安装器配置源标识对应的配置源文件以及所述软件框架的信息对应的安装文件,并将所述可执行文件、所述配置源文件以及所述安装文件作为生成所述目标镜像文件所需的材料文件,若否,根据所述资源信息,向外部远端文件仓库发送资源获取请求,使所述外部远端文件仓库根据所述资源信息,查询所述资源信息对应的资源的文件,并返回,接收所述外部远端文件仓库返回的文件,并将所述文件作为生成所述目标镜像文件所需的材料文件。
可选地,所述镜像构建模块具体用于,根据所述安装器标识,确定所述安装器标识对应的安装器的安装规则,根据所述环境信息以及所述资源信息,采用指定规则,生成基础镜像指令、资源配置指令以及文件指令,根据所述安装规则以及所述软件框架信息,采用所述指定规则,生成所述安装器标识对应的安装器的安装指令以及所述软件框架的安装指令,根据所述基础镜像指令、所述资源配置指令、所述文件指令、所述安装器标识对应的安装器的安装指令以及所述软件框架的安装指令,在所述指定目录下,生成所述目标镜像文件对应的指令文件,其中,所述文件指令为从所述指定目录下拷贝所述材料文件的指令。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述镜像生成的方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述镜像生成的方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
本说明书提供的镜像生成的方法,先响应于用户的选择操作,从预先配置的资源库中,确定生成目标镜像文件所需的基础镜像,再确定基础镜像的环境信息,并展示给用户。然后,响应于用户的输入操作,确定基于基础镜像生成目标镜像文件所需的其他资源的资源信息。根据资源信息,从资源库中,确定生成目标镜像文件所需的文件,作为材料文件,并将材料文件复制到指定目录。之后,根据环境信息和资源信息,采用指定规则,在指定目录下,生成目标镜像文件对应的指令文件。再根据材料文件以及基础镜像,按照指令文件中的指令,调用镜像构建技术,生成目标镜像文件。
从上述方法中可以看出,本申请在生成镜像时,通过响应于用户的选择操作,确定生成目标镜像文件所需的基础镜像的环境信息,并展示给用户,以及响应于用户的输入操作,确定基于基础镜像生成目标镜像文件所需的其他资源的资源信息,并根据资源信息,从资源库中确定生成目标镜像文件所需的材料文件。再根据环境信息和资源信息,采用指定规则,生成目标镜像文件对应的指令文件,并根据材料文件以及基础镜像,按照指令文件中的指令,调用镜像构建技术,生成目标镜像文件,使得用户无需掌握复杂的镜像构建语法,以及无需手动配置目标镜像,降低目标镜像构建的技术门槛,并能快速生成符合要求的目标镜像,提高构建镜像的效率。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中提供的一种镜像生成的方法的流程示意图;
图2为本说明书中提供的一种的镜像生成的***的示意图;
图3为本说明书提供的另一种镜像生成的***的示意图;
图4为本说明书中提供的一种资源管理模块的示意图;
图5为本说明书中提供的一种镜像管理模块的示意图;
图6为本说明书中提供的一种镜像构建模块的示意图;
图7为本说明书中提供的一种数据存储模块的示意图;
图8为本说明书提供的一种镜像生成的***整体的示意图;
图9为本说明书提供的一种对应于图1的电子设备的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书中提供的一种镜像生成的方法的流程示意图,包括以下步骤:
S100:响应于用户的选择操作,从预先配置的资源库中,确定生成目标镜像文件所需的基础镜像。
本说明书中,用于生成镜像的设备可以响应于用户的选择操作,从预先配置的资源库中,确定生成目标镜像文件所需的基础镜像。其中,用于生成镜像的设备可以是服务器,也可以是诸如台式电脑、笔记本电脑等电子设备。为了便于描述,下面仅以服务器为执行主体,对本说明书提供的镜像生成的方法进行说明。预先配置的资源库为预先配置的生成镜像所需的资源,至少可以包含镜像资源,当然,还可以包括安装器资源、安装器配置源资源以及软件框架资源等资源,具体包含何种资源本说明书不做具体限定。镜像资源除了可以直接存储在资源库中,还可以存储在资源库中的镜像仓库中,本说明书不做具体限定。安装器资源为预先下载或者配置好的安装器,安装器配置源资源为预先下载或者配置好的安装器的配置源的资源,软件框架资源为预先下载或者配置好的软件相关资源,可以包括软件自身的可执行文件、软件依赖的安装环境的文件以及安装软件所需的配置的文件等。软件依赖的安装环境为安装软件所需的环境或者运行软件所需的环境,比如Python环境。安装软件所需的配置包括软件的版本号、用于安装软件的安装器标识等。安装器为操作***内部软件依赖的管理工具,常见的安装器包括YUM(全称Yellow dog UpdaterModified)、APT(全称Advanced Packaging Tool)以及PIP(全称package installer forpython)等安装器,安装器可以用于安装软件。安装器配置源为安装器的配置文件。
基础镜像为服务器预先配置好的镜像,用户可以先选择预先配置好的基础镜像,再基于基础镜像生成目标镜像,故服务器响应于用户的选择操作,从预先配置的资源库中,确定用户选择的镜像作为基础镜像,即确定生成目标镜像文件所需的基础镜像。基础镜像至少包含环境内核以及操作***,还可以包含安装器、安装器源以及软件框架等。
S102:确定所述基础镜像的环境信息,并展示给所述用户。
服务器确定基础镜像的环境信息,并展示给用户。具体的,服务器可以对用户选择的基础镜像进行镜像检测,得到基础镜像的镜像检测结果,再根据镜像检测结果,确定基础镜像的环境信息。其中,环境信息至少包括环境内核的信息以及操作***的信息。环境信息还可以包括安装器信息、安装器配置源信息以及软件框架的信息。安装器信息可以包括安装器标识,安装器配置源信息可以包括安装器配置源标识,软件框架的信息可以包括软件信息、软件依赖的安装环境、软件所使用的安装器以及交互软件信息等。镜像检测结果表征镜像中所包含的信息,通过对镜像进行镜像检测得到。不同的镜像包含的信息不同,故不同镜像的镜像检测结果不同。在对镜像进行镜像检测时,可以采用任意已有的手段对镜像进行镜像检测,比如通过查询镜像元数据的方式,对镜像进行镜像检测,本说明书不做具体限定。另外,镜像检测用于检测镜像中所包含的信息,具体的,镜像检测是对每一种镜像所能包含的信息进行检测。针对每一种镜像所能包含的信息,服务器可以采用该种信息对应的检测方式对该种信息进行检测。若在镜像中未检测到该种信息,则说明镜像中不包含该种信息,故镜像的镜像检测结果中对于该种信息的检测结果为空,后续根据镜像检测结果确定出的环境信息中不包含该种信息。若在镜像中检测到该种信息,则说明镜像中包含该种信息,故镜像的镜像检测结果中存在该种信息,后续根据镜像检测结果确定出的环境信息中包含该种信息。比如,假设镜像中最多包含三种类型的信息,对于镜像1,按照三种类型的信息对应的检测方式进行检测,假设服务器只在镜像1中检测到两种类型的信息,故该镜像1的镜像检测结果为检测到的两种类型的信息,对于未检测到的另一种类型的信息为空。
当然,镜像的镜像检测结果可以为服务器预先对该镜像进行镜像检测得到的。故服务器可以根据用户选择的基础镜像,从预先得到的各镜像的镜像检测结果中,确定基础镜像的镜像检测结果,并根据镜像检测结果,确定基础镜像的环境信息,并显示给用户。
另外,由于镜像的镜像检测结果可以为预先对镜像进行镜像检测得到的,那么基础镜像的环境信息也可以为预先根据镜像检测结果得到的,故服务器可以直接根据用户选择的基础镜像,从预先得到的各镜像的环境信息中,确定基础镜像的环境信息。
在本说明书中,在基于基础镜像生成目标镜像时,由于基础镜像中未全部包括用户预期生成的目标镜像所需包含的资源,也就是某一或者某些目标镜像所需包含的资源,基础镜像中未包含这一或者这些资源。比如基础镜像中只包含环境内核和操作***,而目标镜像除了需要包含基础镜像中的环境内核以及操作***之外,还需要包含安装器这一资源。故为了使得用户可以获知基础镜像中包含的资源,确定基础镜像与目标镜像的差异,可以将用户选择的基础镜像的环境信息显示给用户,使得用户可以获知自己选择的基础镜像中所包含的资源的信息,并且根据获知的基础镜像中所包含资源的信息(即环境信息),确定基础镜像与自己预期生成的目标镜像的差异,也就是根据基础镜像中所包含资源的信息以及预期生成的目标镜像所需包含的资源的信息,确定在基于基础镜像生成目标镜像时,目标镜像所需包含的资源,但基础镜像中未包含的资源的信息,后续用户可以根据确定出的基础镜像中未包含且目标镜像所需包含的资源的信息,通过输入该资源的信息,向基础镜像中添加该资源,以生成目标镜像文件。
S104:响应于所述用户的输入操作,确定基于所述基础镜像生成所述目标镜像文件所需的其他资源的资源信息,其中,所述资源信息至少包括安装器标识、安装器配置源标识以及软件框架的信息中的一种。
服务器响应于用户的输入操作,确定基于基础镜像生成目标镜像文件所需的其他资源的资源信息,其中,资源信息至少包括安装器标识、安装器配置源标识以及软件框架的信息中的一种。安装器标识可以为安装器的名称,也可以为表征安装器的数字或者字母,本说明书不做具体限定。
由于基础镜像为服务器预先配置好的镜像,与用户预期的目标镜像存在差异,故在上述步骤S102中确定基础镜像的环境信息,并显示给用户之后,用户可以根据基础镜像的环境信息,确定目标镜像所需包含的资源中,基础镜像中未包含的资源的信息,再根据该资源的信息,通过输入该资源的信息,向基础镜像中添加该资源,以生成目标镜像文件。因此,服务器响应于用户的输入操作,确定除基础镜像外,生成目标镜像文件还需要的其他资源的资源信息。其中,由于基础镜像的环境信息至少包含环境内核信息以及操作***信息,故其他资源至少包括安装器资源、安装器配置源资源以及软件框架资源中的一种,故资源信息至少包括安装器标识、安装器配置源标识以及软件框架的信息中的一种,资源信息还可以包括目标镜像名称,本说明书不做具体限定。比如,用户选择的基础镜像的环境信息包含的环境内核信息为“Linux: 4.15.0-197-generic x86_64 x86_64 x86_64 GNU/Linux”,操作***信息为“Ubuntu:18.04.6 LTS (Bionic Beaver)”,用户期望的目标镜像文件中需要包含PIP的安装器以及依赖安装器PIP安装的软件torch,故用户输入的资源信息可以包括安装器PIP的标识,安装器PIP配置源标识以及依赖安装器PIP安装的软件torch的信息(即软件框架的信息)。
S106:根据所述资源信息,从所述资源库中,确定生成所述目标镜像文件所需的文件,作为材料文件,并将所述材料文件复制到指定目录。
服务器可以根据资源信息,从资源库中,确定生成目标镜像文件所需的文件,作为材料文件,并将材料文件复制到指定目录。其中,指定目录可以为任意预先设置的文件目录。具体的,服务器可以根据资源信息以及基础镜像,从资源库中,确定基础镜像的镜像文件以及资源信息对应的资源文件,将所述镜像文件以及资源文件作为生成目标镜像文件所需的材料文件,并将材料文件复制到指定目录。
在本说明书中,当资源信息包括安装器标识、安装器配置源标识以及软件框架的信息时,服务器可以根据安装器标识、安装器配置源标识以及软件框架信息,从资源库中,确定安装器标识对应的安装器的可执行文件、安装器配置源标识对应的配置源文件以及软件框架的信息对应的安装文件。再将可执行文件、配置源文件以及安装文件作为生成目标镜像文件所需的材料文件。
上述确定安装器的可执行文件、确定配置源文件以及确定安装文件的过程的执行可以不分先后顺序,也可以同时执行。
S108:根据所述环境信息和所述资源信息,采用指定规则,在所述指定目录下,生成所述目标镜像文件对应的指令文件。
服务器可以根据环境信息和资源信息,采用指定规则,在指定目录下,生成目标镜像文件对应的指令文件。其中,指定规则为预先设置的生成指令的语法规则。具体的,服务器可以根据环境信息以及指定规则,确定基础镜像指令。根据资源信息以及指定规则,确定目标镜像文件的参数指令。再根据基础镜像指令以及参数指令,在指定目录下,生成目标镜像文件对应的指令文件。其中,基础镜像指令可以为指定基础镜像的指令,比如基础镜像的文件名称为nvidia-cuda:11.8.0,那么指定基础镜像的指令可以为“FROM nvidia-cuda:11.8.0”。参数指令可以为根据资源信息对应的资源的安装规则以及指定规则生成的指令。上述确定基础镜像指令的过程以及确定参数指令的过程的执行不分先后顺序,确定基础镜像指令的过程以及确定参数指令的过程也可以同时执行。
在本说明书中,当资源信息包括安装器标识、安装器配置源标识以及软件框架的信息时,在根据环境信息和资源信息,采用指定规则,在指定目录下,生成目标镜像文件对应的指令文件时,服务器可以先根据安装器标识,确定安装器标识对应的安装器的安装规则。然后,根据环境信息以及资源信息,采用指定规则,生成基础镜像指令、资源配置指令以及文件指令。根据安装规则以及软件框架信息,采用指定规则,生成安装器标识对应的安装器的安装指令以及软件框架的安装指令。之后,根据基础镜像指令、资源配置指令、文件指令、安装器标识对应的安装器的安装指令以及软件框架的安装指令,在指定目录下,生成目标镜像文件对应的指令文件。
其中,安装规则可以为安装器语法规则,安装器的安装指令可以包括安装器依赖环境安装指令以及安装器自身的安装指令等。资源配置指令包括环境信息以及资源信息分别对应的资源的环境变量配置指令、端口号配置指令以及入口程序配置指令等。文件指令为从指定目录下拷贝材料文件的指令,该文件指令是在构建目标镜像的过程中将材料文件从指定目录下拷贝到目标镜像中的指令。软件框架的安装指令可以包括软件安装前配置指令、软件依赖环境安装指令、软件安装指令、软件安装后配置指令以及启动指令等。
另外,由于可能基础镜像中已有的安装器的安装器配置源与目标镜像所需的该安装器的安装器配置源不一致,比如基础镜像中PIP安装器的安装器配置源为阿里源,但目标镜像中所需的PIP安装器的安装器配置源为清华源,故需要替换该安装器的安装器配置源,因此,安装器的安装指令还可以包括安装器配置源替换指令,该安装器配置源替换指令用于替换安装器的安装器配置源。
在本说明书中,上述基础镜像指令、资源配置指令、文件指令、安装器标识对应的安装器的安装指令以及软件框架的安装指令的生成的过程的执行不分先后顺序,也可以同时执行。另外,上述步骤S106确定材料文件,并将材料文件复制到指定目录与上述确定指令文件的过程的执行可以不分先后顺序,也可以同时执行。
S110:根据所述材料文件以及所述基础镜像,按照所述指令文件中的指令,调用镜像构建技术,生成所述目标镜像文件。
服务器可以根据材料文件以及基础镜像,按照指令文件中的指令,调用镜像构建技术,生成目标镜像文件。具体的,服务器可以按照指令文件中的指令,采用指定目录下的材料文件以及基础镜像,调用镜像构建技术,生成目标镜像文件。其中,镜像构建技术为基于Docker架构的技术。从镜像构建的环境角度,可分为使用本地服务构建镜像和调用远端服务构建镜像两种镜像构建环境。从镜像构建的方式角度,可分为直接使用Docker原生API构建镜像和使用第三方集成类Docker功能的CICD软件构建镜像,如Jenkins等。
从上述方法中可以看出,本申请在生成镜像时,服务器可以通过响应于用户的选择操作,确定生成目标镜像文件所需的基础镜像的环境信息,并展示给用户,使得用户可以清晰地获知基础镜像中包含的环境信息,并可以根据环境信息,确定与预期的目标镜像的差异,根据确定出的差异,进行输入操作,可以避免用户输入与基础镜像的环境信息相同的信息,从而减少目标镜像文件生成的时间。然后,响应于用户的输入操作,确定基于基础镜像生成目标镜像文件所需的其他资源的资源信息,并根据资源信息,从资源库中确定生成目标镜像文件所需的材料文件。通过根据资源信息,直接从资源库中确定生成目标镜像文件所需的材料文件,使得用户无需手动配置和下载材料文件,避免出现配置和下载材料文件错误的情况,提高生成的镜像的准确率。
然后,根据环境信息和资源信息,采用指定规则,生成目标镜像文件对应的指令文件,并根据材料文件以及基础镜像,按照指令文件中的指令,调用镜像构建技术,生成目标镜像文件。使得用户无需掌握复杂的镜像构建语法,降低目标镜像构建的技术门槛,以及无需手动配置目标镜像,只需选择基础镜像以及输入生成目标镜像所需的资源信息即可生成目标镜像文件,使得生成镜像的过程统一且规范化,从而使得用户可以批量生成镜像文件,提高生成镜像的效率。
在本说明书中,由于资源库为服务器预先设置的,故资源库中可能不包含用户选择的基础镜像或者生成目标镜像所需的资源,故在响应于用户的选择操作,从预先配置的资源库中,确定生成目标镜像文件所需的基础镜像(即上述步骤S100)之前,也就是在生成目标镜像文件之前,服务器可以显示预先配置的资源库给用户,以使用户可以查看资源库中存储的各种类型的资源的信息。之后,若用户认为需求无法被充分满足,则响应于用户的上传操作,确定用户上传的资源文件,并将资源文件存入资源库中。
在本说明书中,由于有些资源可以在网络上直接获取到,比如常见的一些软件的安装包,故对于这些资源,可以不在资源库中存储这些资源,以及也无需用户将这些资源上传到资源库中,可以在后续需要这些资源的时候,直接从网络上获取。因此,在上述步骤S106中,当资源信息包括安装器标识、安装器配置源标识以及软件框架的信息时,服务器可以判断资源库中是否存在资源信息对应的资源的文件,若是,按照上述步骤S106中确定材料文件的过程执行。若否,服务器可以根据资源信息,向外部远端文件仓库发送资源获取请求,使外部远端文件仓库根据资源信息,查询资源信息对应的资源的文件,并返回。服务器接收外部远端文件仓库返回的文件,并将文件作为生成目标镜像文件所需的材料文件。其中,外部远端文件仓库为经过服务器验证过的文件仓库,外部远端文件仓库与服务器之间是可信的。
另外,为了节省存储空间,对于这些可以在外部远端文件仓库直接获取到的资源,也可以不在上述步骤S106中将这些资源作为材料文件,并复制到指定目录下,可以直接在上述步骤S108生成目标镜像文件对应的指令文件时,服务器根据资源信息,确定获取资源的文件的获取指令。该获取指令为向第外部远端文件仓库获取资源信息对应的资源的文件的指令。后续再根据获取指令,在指定目录下,生成目标镜像文件对应的指令文件。故上述步骤S108中的指令文件中还包括获取指令。
在本说明书中,可能由于用户的错误输入,导致服务器根据用户输入的资源信息,在资源库中找不到资源信息对应的资源文件,故在上述步骤S106中,判断资源库是否包含资源信息对应的资源的文件,若是,根据资源信息,从资源库中,确定生成目标镜像文件所需的文件,作为材料文件。若否,向用户发送错误提示信息,提示用户重新输入。
进一步地,为了可以基于基础镜像生成目标镜像文件,服务器需要判断资源信息对应的资源与基础镜像的环境信息是否兼容,故在上述步骤S106中,服务器可以根据环境信息,判断资源信息对应的资源与环境信息对应的环境是否兼容。若是,根据资源信息,从资源库中,确定生成目标镜像文件所需的文件,作为材料文件。若否,向用户发送提示信息,提示用户重新输入资源信息。
为了避免用户选择资源库未包含的镜像,并且使得用户可以在选择镜像之前获知镜像的基础信息以更好地选择自己所需的基础镜像,故在上述步骤S100中,服务器可以响应于用户的开始操作,显示预先配置的资源库中的镜像的基础信息给用户。之后,响应于用户的选择操作,从资源库中,确定生成目标镜像文件所需的基础镜像。其中,开始操作表征用户开始选择镜像作为基础镜像,服务器需要向用户显示预先配置的资源库中的镜像的基础信息给用户,以使用户根据基础信息,选择所需作为基础镜像的镜像。选择操作表征用户选择的基础镜像。基础信息至少包括镜像名称以及镜像大小,还可以包括创建镜像的作者以及镜像的环境信息等信息,当前基础信息中包含的镜像的环境信息只是简单的基本信息,而对镜像进行镜像检测得到的环境信息为详细的信息,比如对于镜像中操作***这一类型的信息,在基础信息中可能只包含该镜像中操作***的名称,而在对该镜像进行镜像检测后得到的环境信息中除了包含操作***的名称之外,还包含操作***的版本。
在本说明书中,用户可以预先写好基于基础镜像生成目标镜像文件所需的其他资源的资源信息的文件,也就是预先写好基于基础镜像生成目标镜像文件的配置文件。因此,在上述步骤S104中,用户可以将预先写好的配置文件上传给服务器(即将预先写好的配置文件输入给服务器),以使服务器响应于用户的输入操作,确定基于基础镜像生成目标镜像文件的配置文件,对配置文件进行解析,确定基于基础镜像生成目标镜像文件所需的其他资源的资源信息。
另外,为了保证对用户上传的配置文件进行解析后确定出的资源信息的准确性,服务器可以将资源信息显示给用户,以使用户确定解析出的资源信息是否准确。若服务器解析出的资源信息存在错误时,用户可以进行修改。故服务器可以响应于用户的修改信息操作,对资源信息进行修改。
为了保证生成的目标镜像文件与用户预期生成的目标镜像一致,可以在生成目标镜像文件对应的指令文件之后,将指令文件显示给用户,以使用户确定指令文件中是否存在错误。因此,在上述步骤S108生成目标镜像文件对应的指令文件之后,服务器可以将指令文件显示给用户,以使用户判断指令文件中是否存在错误。若指令文件中存在错误,用户可以修改指令文件。故服务器可以响应于用户修改指令操作,确定用户所需修改的指令信息,根据指令信息,重新生成指令文件,并显示给用户。
在本说明书中,服务器可以为集群中的服务器,集群中的服务器的存储空间可以共享,故可以由与服务器属于同一个集群的其他服务器根据材料文件以及基础镜像,按照指令文件中的指令,生成目标镜像文件。故在上述步骤S110中,服务器可以向其他服务器发送镜像生成指令,其他服务器接收到镜像生成指令之后,根据材料文件以及基础镜像,按照指令文件中的指令,生成目标镜像文件。其中,其他服务器与服务器属于一个集群。
在上述步骤S110生成目标镜像文件之后,服务器可以将目标镜像文件上传至云端镜像仓库,比如Harbor服务器,供用户或者计算集群等直接调用。
在本说明书中,用户可以选择多个基础镜像,可以针对每一用户选择的基础镜像,按照上述步骤S100~S110,得到基于该基础镜像生成的目标镜像文件,使得可以批量生成镜像文件,减少生成镜像文件的时间。
以上为本说明书的一个或多个实施的方法,基于同样的思路,本说明书还提供了相应的镜像生成的***,如图2所示。
图2为本说明书提供的一种的镜像生成的***的示意图,图2所示的***包括资源管理模块200、镜像管理模块201以及镜像构建模块202,其中:
资源管理模块200用于存储预先配置的资源库。其中,预先配置的资源库为预先配置的生成镜像所需的资源,包括安装器资源、安装器源资源以及软件框架资源等资源,本说明书不做具体限定。
镜像管理模块201用于存储镜像资源。
镜像构建模块202用于首先响应于用户的输入操作,从镜像管理模块201中存储的镜像资源中获取生成目标镜像文件所需的基础镜像。其中,基础镜像为***预先配置好的镜像,用户可以先选择预先配置好的基础镜像,再基于基础镜像生成目标镜像,基础镜像至少包含环境内核以及操作***,还可以包含安装器、安装器配置源以及软件框架。具体的,镜像构建模块202可以响应于用户的选择操作,从镜像管理模块201中存储的镜像资源中,获取用户选择的镜像,并作为基础镜像。
然后,镜像构建模块202确定基础镜像的环境信息,并展示给用户。其中,环境信息至少包括环境内核的信息以及操作***的信息,还可以包括安装器信息、安装器配置源信息以及软件框架的信息。安装器信息可以包括安装器标识,安装器配置源信息可以包括安装器配置源标识,软件框架的信息可以包括软件信息、软件依赖的安装环境、软件所使用的安装器以及交互软件信息等。
具体的,镜像构建模块202可以对用户选择的基础镜像进行镜像检测,得到基础镜像的镜像检测结果,再根据镜像检测结果,确定基础镜像的环境信息。其中,镜像检测结果表征镜像中所包含的资源的信息,可以通过对镜像进行镜像检测得到。不同的镜像包含的信息不同,故不同镜像的镜像检测结果不同。在对镜像进行镜像检测时,可以采用任意已有的手段对镜像进行镜像检测,本说明书不做具体限定。
另外,镜像检测结果还可以为镜像管理模块201确定的,故在确定基础镜像的环境信息时,镜像构建模块202可以向镜像管理模块201发送检测指令,镜像管理模块201还可以根据接收到的检测指令,确定基础镜像,并对基础镜像进行镜像检测,得到镜像检测结果,并根据镜像检测结果,确定基础镜像的环境信息,并发送给镜像构建模块202。
镜像检测结果也可以采用历史镜像检测结果,故镜像管理模块201还可以预先对存储的镜像进行镜像检测,得到镜像检测结果。根据镜像检测结果,确定镜像的环境信息,并存储。基于此,镜像构建模块202可以直接从镜像管理模块201存储的镜像的环境信息中,确定基础镜像对应的环境信息。
在本说明书中,在基于基础镜像生成目标镜像时,由于基础镜像中未全部包括用户预期生成的目标镜像所需包含的资源,也就是某一或者某些目标镜像所需包含的资源,基础镜像中未包含这一或者这些资源。比如基础镜像中只包含环境内核和操作***,而目标镜像除了需要包含基础镜像中的环境内核以及操作***之外,还需要包含安装器这一资源。故为了使得用户可以获知基础镜像中包含的资源,确定基础镜像与目标镜像的差异,镜像构建模块202可以将用户选择的基础镜像的环境信息显示给用户,使得用户可以获知自己选择的基础镜像中所包含的资源的信息(即环境信息),并且根据获知的基础镜像中所包含资源的信息,确定基础镜像与自己预期生成的目标镜像的差异,也就是根据基础镜像中所包含资源的信息以及预期生成的目标镜像所需包含的资源的信息,确定目标镜像所需包含的,但基础镜像中未包含的资源的信息,有利于后续过程中用户可以根据确定出的基础镜像中未包含且目标镜像所需包含的资源的信息,通过输入该资源的信息,向基础镜像中添加该资源,以生成目标镜像文件。
之后,镜像构建模块202响应于用户的输入操作,确定基于基础镜像生成目标镜像文件所需的其他资源的资源信息。其中,其他资源至少包括安装器资源、安装器配置源资源以及软件框架资源中的一种。资源信息至少包括安装器标识、安装器配置源标识以及软件框架的信息中的一种。安装器标识可以为安装器的名称,也可以为表征安装器的数字或者字母,本说明书不做具体限定。
由于基础镜像为预先配置好的镜像,可能与用户预期的目标镜像文件存在差异,故在确定基础镜像的环境信息,并显示给用户之后,用户可以根据基础镜像的环境信息,确定目标镜像所需包含的资源中,基础镜像中为包含的资源的信息(即基础镜像与目标镜像的差异),再根据该资源的信息,通过输入该资源的信息,向基础镜像中添加该资源,已生成目标镜像文件。因此,镜像构建模块202响应于用户的输入操作,确定除基础镜像外,生成目标镜像文件还需要的其他资源的资源信息。
然后,镜像构建模块202根据资源信息,从资源管理模块200中的资源库,获取生成目标镜像文件所需的文件,作为材料文件,并将材料文件复制到指定目录。具体的,镜像构建模块202可以根据资源信息以及基础镜像,从资源管理模块200中的资源库,确定基础镜像的镜像文件以及资源信息对应的资源文件,将所述镜像文件以及资源文件作为生成目标镜像文件所需的材料文件,并将材料文件复制到指定目录。
在本说明书中,当资源信息包括安装器标识、安装器配置源标识以及软件框架的信息时,镜像构建模块202可以根据安装器标识,从资源管理模块200中的资源库,确定安装器标识对应的安装器的可执行文件。根据安装器配置源标识,从资源管理模块200中的资源库,确定安装器配置源标识对应的配置源文件。根据软件框架信息,从资源管理模块200中的资源库,确定软件框架的信息对应的安装文件。再将可执行文件、配置源文件以及安装文件作为生成目标镜像文件所需的材料文件。其中,上述确定安装器的可执行文件、确定配置源文件以及确定安装文件的过程的执行可以不分先后顺序,也可以同时执行。
然后,镜像构建模块202根据环境信息和资源信息,采用指定规则,在指定目录下,生成目标镜像文件对应的指令文件。具体的,镜像构建模块202可以根据环境信息以及指定规则,确定基础镜像指令。根据资源信息以及指定规则,确定目标镜像文件的参数指令。再根据基础镜像指令以及参数指令,在指定目录下,生成目标镜像文件对应的指令文件。其中,基础镜像指令可以为指定基础镜像的指令,参数指令可以为根据资源信息对应的资源的安装规则以及指定规则生成的指令。上述确定基础镜像指令的过程以及确定参数指令的过程的执行不分先后顺序,也可以同时执行。
在本说明书中,当资源信息包括安装器标识、安装器配置源标识以及软件框架的信息时,在根据环境信息和资源信息,采用指定规则,在指定目录下,生成目标镜像文件对应的指令文件时,镜像构建模块202可以先根据安装器标识,确定安装器标识对应的安装器的安装规则。然后,根据环境信息以及资源信息,采用指定规则,生成基础镜像指令、资源配置指令以及文件指令。以及,根据安装规则以及软件框架信息,采用指定规则,生成安装器标识对应的安装器的安装指令以及软件框架的安装指令。之后,根据基础镜像指令、资源配置指令、文件指令、安装器标识对应的安装器的安装指令以及软件框架的安装指令,在指定目录下,生成目标镜像文件对应的指令文件。其中,安装规则可以为安装器语法规则,安装器的安装指令可以包括安装器依赖环境安装指令以及安装器自身的安装指令等。资源配置指令包括环境信息以及资源信息分别对应的资源的环境变量配置指令、端口号配置指令以及入口程序配置指令。文件指令为从指定目录下拷贝材料文件的指令,该文件指令是在构建目标镜像的过程中将材料文件从指定目录下拷贝到目标镜像中的指令。软件框架的安装指令可以包括软件安装前配置指令、软件依赖环境安装指令、软件安装指令、软件安装后配置指令以及启动指令等。
另外,由于可能基础镜像中已有的安装器的安装器配置源与目标镜像所需的该安装器的安装器配置源不一致,比如基础镜像中PIP安装器的安装器配置源为阿里源,但目标镜像中所需的PIP安装器的安装器配置源为清华源,故需要替换该安装器的安装器配置源,因此,安装器的安装指令还可以包括安装器配置源替换指令,该安装器配置源替换指令用于替换安装器的安装器配置源。
上述基础镜像指令、资源配置指令、文件指令、安装器标识对应的安装器的安装指令以及软件框架的安装指令的生成的过程的执行不分先后顺序,也可以同时执行。另外,上述确定材料文件,并将材料文件复制到指定目录与上述确定指令文件的过程的执行可以不分先后顺序,也可以同时执行。
之后,镜像构建模块202根据材料文件以及基础镜像,按照指令文件中的指令,调用镜像构建技术,生成所述目标镜像文件。其中,镜像构建技术为基于Docker架构的技术。从镜像构建的环境角度,可分为使用本地服务构建镜像和调用远端服务构建镜像两种镜像构建环境。从镜像构建的方式角度,可分为直接使用Docker原生API构建镜像和使用第三方集成类Docker功能的CICD软件构建镜像,如Jenkins等。
从上述镜像生成的***中可以看出,本申请在生成镜像时,镜像构建模块202可以通过响应于用户的选择操作,从资源管理模块200中存储的资源库中获取生成目标镜像文件所需的基础镜像,并确定基础镜像的环境信息,并展示给用户,使得用户可以清晰地获知基础镜像中包含的环境信息(即基础镜像中包含的资源的信息),并可以根据环境信息,确定在基于基础镜像生成目标镜像时,目标镜像所需包含的资源,但基础镜像中未包含的资源的信息,再输入确定出的资源的信息,可以避免用户输入的资源的信息与基础镜像的环境信息相同,从而减少目标镜像文件生成的时间。然后,镜像构建模块202响应于用户的输入操作,确定基于基础镜像生成目标镜像文件所需的其他资源的资源信息,并根据资源信息,从资源管理模块200中的资源库,确定生成目标镜像文件所需的材料文件。通过根据资源信息,直接从资源管理模块200中的资源库,确定生成目标镜像文件所需的材料文件,使得用户无需手动配置和下载材料文件,避免出现配置和下载材料文件错误的情况,提高生成的镜像的准确率。然后,镜像构建模块202根据环境信息和资源信息,采用指定规则,生成目标镜像文件对应的指令文件,并根据材料文件以及基础镜像,按照指令文件中的指令,调用镜像构建技术,生成目标镜像文件。使得用户无需掌握复杂的镜像构建语法,降低目标镜像构建的技术门槛,以及无需手动配置目标镜像文件,只需选择基础镜像以及输入生成目标镜像所需的资源信息即可生成目标镜像文件,从而使得用户可以批量生成镜像文件,提高生成镜像的效率。
在上述镜像生成的***中,由于资源管理模块200中的资源库中可能不存在用户输入的资源信息对应的资源文件或者镜像管理模块201中可能不存在用户选择的基础镜像,也就是镜像构建模块202根据资源信息,在资源库中找不到资源信息对应的资源文件,也在镜像管理模块201中找不到用户选择的基础镜像。故在镜像构建模块202响应于用户的选择操作,从预先配置的资源库中,确定生成目标镜像文件所需的基础镜像之前,资源管理模块200还可以显示预先配置的资源库给用户。以及镜像管理模块201显示存储的镜像的基础信息给用户,以使用户可以查看资源库以及镜像管理模块201中存储的各种类型的资源的信息。之后,资源管理模块200响应于用户的上传操作,确定用户上传的资源文件,并将资源文件存入资源库中。该资源文件可以为安装器资源、安装器配置源资源以及软件框架资源等文件。镜像管理模块201也响应于用户的上传操作,确定用户上传的镜像资源文件,并存储。
在本说明书中,由于有些资源可以在网络上直接获取到,比如常见的一些软件的安装包,故对于这些资源,可以不在资源库中存储这些资源,以及也无需用户将这些资源上传到资源库中,可以在后续需要这些资源的时候,直接从网络上获取。因此,当资源信息包括安装器标识、安装器配置源标识以及软件框架的信息时,镜像构建模块202可以判断资源库中是否存在资源信息对应的资源的文件,若是,镜像构建模块202可以根据资源信息,从资源库中确定材料文件,具体过程与上述确定材料过程一致,在此就不再赘述。若否,镜像构建模块202可以根据资源信息,向外部远端文件仓库发送资源获取请求,使外部远端文件仓库根据所述资源信息,查询资源信息对应的资源的文件,并返回。之后,镜像构建模块202可以接收外部远端文件仓库返回的文件,并将文件作为生成目标镜像文件所需的材料文件。其中,外部远端文件仓库为经过***验证过的数据库,外部远端文件仓库与***之间是可信的。
另外,为了节省存储空间,对于这些可以在外部远端文件仓库直接获取到的资源,镜像构建模块202可以不将这些资源作为材料文件,并复制到指定目录下,可以在生成目标镜像文件对应的指令文件时,根据资源信息,确定获取资源的文件的获取指令。该获取指令为向外部远端文件仓库获取资源信息对应的资源的文件的指令。后续再根据获取指令,在指定目录下,生成目标镜像文件对应的指令文件。
另外,可能由于用户的错误输入,导致镜像构建模块202根据用户输入的资源信息,在资源管理模块200中的资源库中找不到资源信息对应的资源文件,故镜像构建模块202可以判断资源库中是否包含资源信息对应的资源的文件,若是,根据资源信息,从资源库中,确定生成目标镜像文件所需的文件,作为材料文件。若否,向用户发送错误提示信息,提示用户重新输入。
进一步地,为了可以基于基础镜像生成目标镜像文件,镜像构建模块202需要判断资源信息对应的资源与基础镜像的环境信息是否兼容,故在根据资源信息,从资源管理模块200中的资源库,获取生成目标镜像文件所需的文件,作为材料文件时,镜像构建模块202还可以根据环境信息,判断资源信息对应的资源与环境信息对应的环境是否兼容。若是,根据资源信息,从资源管理模块200中的资源库,确定生成目标镜像文件所需的文件,作为材料文件。若否,向用户发送提示信息,提示用户重新输入资源信息。
在上述镜像生成的***中,为了避免用户选择资源库未包含的镜像,并且使得用户可以在选择镜像之前获知镜像的基础信息以更好地选择自己所需的基础镜像,故镜像构建模块202可以响应于用户的开始操作,显示预先配置的镜像管理模块201存储的镜像的基础信息给用户。之后,响应于用户的选择操作,从资源库中,确定生成目标镜像文件所需的基础镜像。其中,开始操作表征用户开始选择镜像作为基础镜像,选择操作表征用户选择的基础镜像。基础信息至少包括镜像名称以及镜像大小,还可以包括创建镜像的作者以及镜像的环境信息等信息,当前基础信息中包含的镜像的环境信息只是简单的基本信息,而对镜像进行镜像检测得到的环境信息为详细的信息。
在上述镜像生成的***中,用户可以预先写好基于基础镜像生成目标镜像文件所需的其他资源的资源信息的文件,也就是预先写好基于基础镜像生成目标镜像文件的配置文件。因此,镜像构建模块202可以响应于用户的输入操作,确定基于基础镜像生成目标镜像文件的配置文件,对配置文件进行解析,确定基于基础镜像生成目标镜像文件所需的其他资源的资源信息。其中,配置文件为用户预先写好的基于基础镜像生成目标镜像文件所需的其他资源的资源信息的文件,并由用户上传给镜像构建模块202的文件。
另外,为了保证对用户上传的配置文件进行解析后确定出的资源信息的准确性,镜像构建模块202可以将资源信息显示给用户,以使用户确定解析出的资源信息是否准确。若镜像构建模块202解析出的资源信息存在错误时,用户可以进行修改。故镜像构建模块202可以响应于用户的修改信息操作,对资源信息进行修改。
在上述镜像生成的***中,为了保证生成的目标镜像文件与用户预期生成的目标镜像一致,可以在生成目标镜像文件对应的指令文件之后,将指令文件显示给用户,以使用户确定指令文件中是否存在错误。因此,在生成目标镜像文件对应的指令文件之后,镜像构建模块202可以将指令文件显示给用户,以使用户判断指令文件中是否存在错误。若指令文件中存在错误,用户可以修改指令文件。故镜像构建模块202可以响应于用户修改指令操作,确定用户所需修改的指令信息,根据指令信息,重新生成指令文件,并显示给用户。
在上述镜像生成的***中,***所处的服务器可以为集群中的服务器,集群中的服务器的存储空间可以共享,故***中的资源管理模块200中存储的文件也可以与集群中其他服务器共享。因此,镜像构建模块202在根据材料文件以及基础镜像,按照指令文件中的指令,生成目标镜像文件时,可以向其他服务器发送镜像生成指令,其他服务器接收到镜像生成指令之后,根据材料文件以及基础镜像,按照指令文件中的指令,生成目标镜像文件。其中,其他服务器与***所在的服务器属于一个集群。
在本说明书中,所述***还包括数据存储模块203,如图3所示,图3为本说明书提供的另一种镜像生成的***的示意图,该镜像生成的***除了包括上述资源管理模块200、镜像管理模块201以及镜像构建模块202,还包括数据存储模块203。
数据存储模块203用于存储镜像的环境信息。故镜像管理模块201在确定出镜像的环境信息之后,可以将镜像的环境信息发送给数据存储模块203存储。因此,镜像构建模块202可以从数据存储模块203中获取基础镜像的环境信息。在上述镜像生成的***中,当生成目标镜像文件之后,镜像构建模块202可以将目标镜像文件发送给数据存储模块203进行存储。数据存储模块203还可以将目标镜像文件上传至云端镜像仓库,供用户或者计算集群等直接调用。
在上述镜像生成的***中,资源管理模块200可以包括安装器资源管理子模块2001、安装器源资源管理子模块2002以及软件管理资源子模块2003,如图4所示,图4为本说明书中提供的一种资源管理模块的示意图。
安装器资源管理子模块2001用于管理和存储安装器资源。具体的,安装器资源管理子模块2001可以响应于用户的上传材料操作,确定用户上传的***支持的安装器资源,并存储。
安装器配置源资源管理子模块2002用于管理和存储安装器配置源资源。具体的,安装器配置源资源管理子模块2002可以响应于用户的上传材料操作,确定用户上传的***支持的安装器配置源资源,并存储。
软件资源管理子模块2003用于管理和存储软件框架资源。具体的,软件资源管理子模块2003可以响应于用户的上传材料操作,确定用户上传的***支持的软件框架资源,并存储。其中,软件框架资源可以包括软件自身的可执行文件、软件依赖的安装环境的文件以及安装软件所需的配置的文件等资源。
在上述镜像生成的***中,镜像管理模块201可以包括镜像存储子模块2011、镜像检测子模块2012以及镜像空间管理子模块2013,如图5所示,图5为本说明书中提供的一种镜像管理模块的示意图。
镜像存储子模块2011用于响应于用户的上传镜像操作,确定用户上传的镜像,并存储。
镜像检测子模块2012用于对镜像存储子模块2011中存储的镜像进行镜像检测,得到镜像检测结果,并根据镜像检测结果,确定镜像的环境信息。
镜像空间管理子模块2013用于对镜像存储空间进行管理。具体的,镜像空间管理子模块2013可以对镜像存储空间,通过定时清理过期镜像以及清理缓存空间等方式进行管理。
在上述镜像生成的***中,镜像构建模块202可以包括任务管理子模块2021、材料准备子模块2022、指令生成子模块2023、指令文件生成子模块2024以及镜像生成子模块2025,如图6所示,图6为本说明书中提供的一种镜像构建模块的示意图。
任务管理子模块2021用于管理镜像构建任务,其中,镜像构建任务为生成目标镜像文件,一个生成目标镜像文件的过程为执行一个镜像构建任务的过程。每一个目标镜像文件对应一个指定目录,该指定目录可以由任务管理子模块2021进行划分得到。
材料准备子模块2022用于响应于用户的选择操作,从镜像管理模块201中存储镜像资源中获取生成目标镜像文件所需的基础镜像,确定基础镜像的环境信息,并展示给用户,响应于用户的输入操作,确定基于基础镜像生成目标镜像文件所需的其他资源的资源信息,根据资源信息,从资源管理模块200中的资源库,获取生成目标镜像文件所需的文件,作为材料文件,并将材料文件复制到任务管理子模块2021划分的指定目录下。
指令生成子模块2023用于根据资源信息和指定规则,确定目标镜像文件的参数指令。
指令文件生成子模块2024用于根据环境信息以及指定规则,确定基础镜像指令,并根据基础镜像指令以及从指令生成子模块2023中获取到的参数指令,在指定目录下,生成目标镜像文件对应的指令文件。
镜像生成子模块2025用于根据材料文件以及基础镜像,按照指令文件中的指令,调用镜像构建技术,生成目标镜像文件。
上述镜像生成子模块2025在生成目标镜像文件之后,可以将目标镜像文件存储在镜像存储子模块2011。相应的,镜像存储子模块2011还用于存储目标镜像文件。
在上述镜像生成的***中,数据存储模块203可以包括任务信息存储子模块2031以及环境信息存储子模块2032,如图7所示,图7为本说明书中提供的一种数据存储模块的示意图。
任务信息存储子模块2031用于存储镜像构建任务的信息,该信息包括镜像构建任务的开始时间、结束时间以及上述任务管理子模块2021确定出指定目录等。
环境信息存储子模块2032用于存储镜像管理模块201确定出的镜像的环境信息。
本说明书还提供一种镜像生成的***的示意图,如图8所示,图8为本说明书提供的一种镜像生成的***整体的示意图。该镜像生成的***还包含上述资源管理模块200、镜像管理模块201、镜像构建模块202以及数据存储模块203。其中,资源管理模块200包括安装器资源管理子模块2001、安装器配置源资源管理子模块2002以及软件资源管理子模块2003。镜像管理模块201包括镜像存储子模块2011、镜像检测子模块2012以及镜像空间管理子模块2013。镜像构建模块202包括任务管理子模块2021、材料准备子模块2022、指令生成子模块2023、指令文件生成子模块2024以及镜像生成子模块2025。数据存储模块203可以包括任务信息存储子模块2031以及环境信息存储子模块2032。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的一种镜像生成的方法。
本说明书还提供了图9所示的一种对应于图1的电子设备的示意结构图。如图9所示,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的镜像生成的方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、***、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、***或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (8)
1.一种镜像生成的方法,其特征在于,包括:
响应于用户的选择操作,从预先配置的资源库中,确定生成目标镜像文件所需的基础镜像;
确定所述基础镜像的环境信息,并展示给所述用户;
响应于所述用户的输入操作,确定基于所述基础镜像生成所述目标镜像文件所需的其他资源的资源信息,其中,所述资源信息至少包括安装器标识、安装器配置源标识以及软件框架的信息中的一种;
根据所述资源信息,从所述资源库中,确定生成所述目标镜像文件所需的文件,作为材料文件,并将所述材料文件复制到指定目录;
根据所述环境信息和所述资源信息,采用指定规则,在所述指定目录下,生成所述目标镜像文件对应的指令文件;
根据所述材料文件以及所述基础镜像,按照所述指令文件中的指令,调用镜像构建技术,生成所述目标镜像文件;
在响应于用户的选择操作,从预先配置的资源库中,确定生成目标镜像文件所需的基础镜像之前,所述方法还包括:
显示预先配置的资源库给用户,其中,所述资源库包括镜像资源、安装器资源、安装器配置源资源以及软件框架资源;
响应于所述用户的上传操作,确定所述用户上传的资源文件,并将所述资源文件存入所述资源库中;
所述资源信息包括所述安装器标识、所述安装器配置源标识以及所述软件框架的信息;
根据所述环境信息和所述资源信息,采用指定规则,在所述指定目录下,生成所述目标镜像文件对应的指令文件,具体包括:
根据所述安装器标识,确定所述安装器标识对应的安装器的安装规则;
根据所述环境信息以及所述资源信息,采用指定规则,生成基础镜像指令、资源配置指令以及文件指令;根据所述安装规则以及所述软件框架信息,采用所述指定规则,生成所述安装器标识对应的安装器的安装指令以及所述软件框架的安装指令;其中,所述文件指令为从所述指定目录下拷贝所述材料文件的指令;
根据所述基础镜像指令、所述资源配置指令、所述文件指令、所述安装器标识对应的安装器的安装指令以及所述软件框架的安装指令,在所述指定目录下,生成所述目标镜像文件对应的指令文件。
2.如权利要求1所述的方法,其特征在于,确定所述基础镜像的环境信息,具体包括:
对所述基础镜像进行镜像检测,得到所述基础镜像的镜像检测结果,其中,所述基础镜像至少包含环境内核以及操作***;
根据所述镜像检测结果,确定所述基础镜像的环境信息,其中,所述环境信息至少包括所述环境内核的信息以及所述操作***的信息。
3.如权利要求1所述的方法,其特征在于,根据所述资源信息,从所述资源库中,确定生成所述目标镜像文件所需的文件,作为材料文件,具体包括:
判断所述资源库中是否存在所述资源信息对应的资源的文件;
若是,根据所述安装器标识、所述安装器配置源标识以及所述软件框架信息,从所述资源库中,确定所述安装器标识对应的安装器的可执行文件、所述安装器配置源标识对应的配置源文件以及所述软件框架的信息对应的安装文件;将所述可执行文件、所述配置源文件以及所述安装文件作为生成所述目标镜像文件所需的材料文件;
若否,根据所述资源信息,向外部远端文件仓库发送资源获取请求,使所述外部远端文件仓库根据所述资源信息,查询所述资源信息对应的资源的文件,并返回;接收所述外部远端文件仓库返回的文件,并将所述文件作为生成所述目标镜像文件所需的材料文件。
4.一种镜像生成的***,其特征在于,所述***包括资源管理模块、镜像管理模块以及镜像构建模块,其中:
所述资源管理模块用于存储预先配置的资源库;
所述镜像管理模块用于存储镜像资源;
所述镜像构建模块用于响应于用户的选择操作,从所述镜像管理模块中存储的镜像资源中获取生成目标镜像文件所需的基础镜像,确定所述基础镜像的环境信息,并展示给所述用户,响应于所述用户的输入操作,确定基于所述基础镜像生成所述目标镜像文件所需的其他资源的资源信息,根据所述资源信息,从所述资源管理模块中的所述资源库,获取生成所述目标镜像文件所需的文件,作为材料文件,并将所述材料文件复制到指定目录,根据所述环境信息和所述资源信息,采用指定规则,在所述指定目录下,生成所述目标镜像文件对应的指令文件,根据所述材料文件以及所述基础镜像,按照所述指令文件中的指令,调用镜像构建技术,生成所述目标镜像文件,其中,所述资源信息至少包括安装器标识、安装器配置源标识以及软件框架的信息中的一种;
在所述镜像构建模块响应于用户的选择操作,从预先配置的资源库中,确定生成目标镜像文件所需的基础镜像之前,所述资源管理模块还用于显示所述资源库给用户,响应于所述用户的上传操作,确定所述用户上传的资源文件,并将所述资源文件存入所述资源库中,其中,所述资源库包括安装器资源、安装器配置源资源以及软件框架资源;
所述资源信息包括所述安装器标识、所述安装器配置源标识以及所述软件框架的信息;
所述镜像构建模块具体用于,根据所述安装器标识,确定所述安装器标识对应的安装器的安装规则,根据所述环境信息以及所述资源信息,采用指定规则,生成基础镜像指令、资源配置指令以及文件指令,根据所述安装规则以及所述软件框架信息,采用所述指定规则,生成所述安装器标识对应的安装器的安装指令以及所述软件框架的安装指令,根据所述基础镜像指令、所述资源配置指令、所述文件指令、所述安装器标识对应的安装器的安装指令以及所述软件框架的安装指令,在所述指定目录下,生成所述目标镜像文件对应的指令文件,其中,所述文件指令为从所述指定目录下拷贝所述材料文件的指令。
5.如权利要求4所述的***,其特征在于,所述镜像管理模块还用于对镜像进行镜像检测,得到镜像检测结果,根据所述镜像检测结果,确定镜像的环境信息,并存储,其中,所述镜像至少包括环境内核以及操作***,所述环境信息至少包括所述环境内核的信息以及所述操作***的信息;
所述镜像构建模块具体用于,从所述镜像管理模块存储的镜像的环境信息中,确定所述基础镜像对应的环境信息。
6.如权利要求4所述的***,其特征在于,所述镜像构建模块具体用于,判断所述资源库中是否存在所述资源信息对应的资源的文件,若是,根据所述安装器标识、所述安装器配置源标识以及所述软件框架信息,从所述资源管理模块中的所述资源库,确定所述安装器标识对应的安装器的可执行文件、所述安装器配置源标识对应的配置源文件以及所述软件框架的信息对应的安装文件,并将所述可执行文件、所述配置源文件以及所述安装文件作为生成所述目标镜像文件所需的材料文件,若否,根据所述资源信息,向外部远端文件仓库发送资源获取请求,使所述外部远端文件仓库根据所述资源信息,查询所述资源信息对应的资源的文件,并返回,接收所述外部远端文件仓库返回的文件,并将所述文件作为生成所述目标镜像文件所需的材料文件。
7.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~3任一项所述的方法。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311285993.7A CN117032739B (zh) | 2023-10-07 | 2023-10-07 | 一种镜像生成的方法、***、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311285993.7A CN117032739B (zh) | 2023-10-07 | 2023-10-07 | 一种镜像生成的方法、***、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117032739A CN117032739A (zh) | 2023-11-10 |
CN117032739B true CN117032739B (zh) | 2024-01-09 |
Family
ID=88624812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311285993.7A Active CN117032739B (zh) | 2023-10-07 | 2023-10-07 | 一种镜像生成的方法、***、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117032739B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528224A (zh) * | 2016-11-03 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种Docker容器的内容更新方法、服务器及*** |
WO2017049828A1 (zh) * | 2015-09-25 | 2017-03-30 | 中兴通讯股份有限公司 | 基于Linux的数据处理方法、装置和*** |
CN108984268A (zh) * | 2018-07-13 | 2018-12-11 | 郑州云海信息技术有限公司 | Docker***中容器管理的方法和装置 |
CN110659076A (zh) * | 2019-09-26 | 2020-01-07 | 无锡睿勤科技有限公司 | 操作***的安装部署方法及装置 |
CN113867778A (zh) * | 2021-09-18 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种镜像文件的生成方法、装置、电子设备及存储介质 |
CN114443076A (zh) * | 2022-01-30 | 2022-05-06 | 北京百度网讯科技有限公司 | 镜像构建方法、装置、设备及存储介质 |
-
2023
- 2023-10-07 CN CN202311285993.7A patent/CN117032739B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017049828A1 (zh) * | 2015-09-25 | 2017-03-30 | 中兴通讯股份有限公司 | 基于Linux的数据处理方法、装置和*** |
CN106528224A (zh) * | 2016-11-03 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种Docker容器的内容更新方法、服务器及*** |
CN108984268A (zh) * | 2018-07-13 | 2018-12-11 | 郑州云海信息技术有限公司 | Docker***中容器管理的方法和装置 |
CN110659076A (zh) * | 2019-09-26 | 2020-01-07 | 无锡睿勤科技有限公司 | 操作***的安装部署方法及装置 |
CN113867778A (zh) * | 2021-09-18 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种镜像文件的生成方法、装置、电子设备及存储介质 |
CN114443076A (zh) * | 2022-01-30 | 2022-05-06 | 北京百度网讯科技有限公司 | 镜像构建方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117032739A (zh) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9928038B2 (en) | Dynamically building locale objects or subsections of locale objects based on historical data | |
CN108616599B (zh) | 应用服务注册、更新的方法及装置 | |
CN111881019B (zh) | 一种用户界面测试方法及装置 | |
CN110032409B (zh) | 一种客户端屏幕适配方法、装置及电子设备 | |
EP1104563A2 (en) | Multilingual user interface for an operating system | |
CN116126365B (zh) | 一种模型部署的方法、***、存储介质及电子设备 | |
CN117075930B (zh) | 一种计算框架管理*** | |
CN111273965B (zh) | 一种容器应用启动方法、***、装置及电子设备 | |
US20120159515A1 (en) | Sharing object representations | |
CN110427237B (zh) | 一种跨应用访问目标页面的方法、装置及电子设备 | |
US9141353B2 (en) | Dynamically building locale objects at run-time | |
CN117032739B (zh) | 一种镜像生成的方法、***、存储介质及电子设备 | |
CN116436936B (zh) | 一种数据存储***、方法、存储介质及电子设备 | |
CN111338655B (zh) | 一种安装包分发方法和*** | |
CN117311856A (zh) | 一种接口调用代码的生成方法及装置 | |
CN115269562B (zh) | 一种数据库管理方法、装置、存储介质及电子设备 | |
CN117519912B (zh) | 一种镜像仓库部署的方法、装置、存储介质、设备 | |
CN117041980B (zh) | 一种网元管理方法、装置、存储介质及电子设备 | |
US9778917B2 (en) | Dynamically building subsections of locale objects at run-time | |
CN117785225A (zh) | 一种基于Git仓库的应用发布***和方法 | |
CN117519733A (zh) | 一种项目部署方法、装置、存储介质及电子设备 | |
CN112711539A (zh) | 一种数据处理的方法、装置以及数据检测*** | |
CN117421208A (zh) | 一种确定页面唯一标识的方法、装置、存储介质及设备 | |
CN117667309A (zh) | 一种快照镜像的加载方法、装置、存储介质及电子设备 | |
CN116954765A (zh) | 一种程序运行方法、装置、存储介质及电子设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |