CN111857797B - 一种镜像构建方法、系统及相关装置 - Google Patents

一种镜像构建方法、系统及相关装置 Download PDF

Info

Publication number
CN111857797B
CN111857797B CN202010605052.7A CN202010605052A CN111857797B CN 111857797 B CN111857797 B CN 111857797B CN 202010605052 A CN202010605052 A CN 202010605052A CN 111857797 B CN111857797 B CN 111857797B
Authority
CN
China
Prior art keywords
mirror image
configuration request
service application
construction
link
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
Application number
CN202010605052.7A
Other languages
English (en)
Other versions
CN111857797A (zh
Inventor
白晓敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202010605052.7A priority Critical patent/CN111857797B/zh
Publication of CN111857797A publication Critical patent/CN111857797A/zh
Application granted granted Critical
Publication of CN111857797B publication Critical patent/CN111857797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本申请提供一种镜像构建方法,包括:接收配置请求;所述配置请求包括构建配置请求、链接配置请求和业务应用配置请求;根据所述构建配置请求调用基础镜像库中的根文件系统构建第一镜像;根据所述链接配置请求调用链接文件库文件导入至所述第一镜像,得到第二镜像;确定所述业务应用请求对应的业务应用配置,将所述业务应用配置导入所述第二镜像,得到容器化镜像。本申请能提高镜像兼容性,且执行构建的过程自动化,减少人工参与,镜像构建效率高,进一步开发测试的工作效率。本申请还提供一种镜像构建系统、计算机可读存储介质和服务器,具有上述有益效果。

Description

一种镜像构建方法、系统及相关装置
技术领域
本申请涉及服务器领域,特别涉及一种镜像构建方法、系统及相关装置。
背景技术
目前,获取镜像的方法一般有:
1.从镜像仓库中下载现有镜像,这样做存在下载速度慢、下载的镜像与所在的宿主机平台环境不匹配、下载的镜像太大占用太多空间、下载的镜像可能包含的内容不全、满足不了所需等缺点。
2.到不同CPU架构平台的系统上编译构建镜像,这样做存在编译复杂度高、失败几率大等缺点。
3.目标平台仿真和交叉编译提高了镜像构建的复杂度,会出现运行太慢的情况,且不适用于国产平台。
因此如何实现镜像的快速构建是本领域技术人员亟需解决的技术问题。
发明内容
本申请的目的是提供一种镜像构建方法、系统、计算机可读存储介质和服务器,能够快速构建镜像。
为解决上述技术问题,本申请提供一种镜像构建方法,具体技术方案如下:
接收配置请求;所述配置请求包括构建配置请求、链接配置请求和业务应用配置请求;
根据所述构建配置请求调用基础镜像库中的根文件系统构建第一镜像;
根据所述链接配置请求调用链接文件库文件导入至所述第一镜像,得到第二镜像;
确定所述业务应用请求对应的业务应用配置,将所述业务应用配置导入所述第二镜像,得到容器化镜像。
可选的,还包括:
将所述容器化镜像导入应用镜像库,以便宿主机通过第三方平台应用所述容器化镜像。
可选的,还包括:
对所述容器化镜像执行兼容性检测;
若所述容器化镜像存在兼容性异常,判断所述业务应用配置请求与所述构建配置请求是否对应;
若否,确定所述业务应用请求对应的兼容业务应用配置,并将所述兼容业务应用配置导入所述第二镜像,重新得到容器化镜像。
可选的,根据所述链接配置请求调用链接文件库文件导入至所述第一镜像,得到第二镜像包括:
根据所述链接配置请求分别调用动态链接文件库文件和静态链接文件库文件导入至所述第一镜像,得到第二镜像。
本申请还提供一种镜像构建系统,包括:
配置接收模块,用于接收配置请求;所述配置请求包括构建配置请求、链接配置请求和业务应用配置请求;
第一构建模块,用于根据所述构建配置请求调用基础镜像库中的根文件系统构建第一镜像;
第二构建模块,用于根据所述链接配置请求调用链接文件库文件导入至所述第一镜像,得到第二镜像;
第三构建模块,用于确定所述业务应用请求对应的业务应用配置,将所述业务应用配置导入所述第二镜像,得到容器化镜像。
可选的,还包括:
镜像导入模块,用于将所述容器化镜像导入应用镜像库,以便宿主机通过第三方平台应用所述容器化镜像。
可选的,还包括:
兼容检测模块,用于对所述容器化镜像执行兼容性检测;若所述容器化镜像存在兼容性异常,判断所述业务应用配置请求与所述构建配置请求是否对应;若否,确定所述业务应用请求对应的兼容业务应用配置,并将所述兼容业务应用配置导入所述第二镜像,重新得到容器化镜像。
可选的,所述第二构建模块为根据所述链接配置请求分别调用动态链接文件库文件和静态链接文件库文件导入至所述第一镜像,得到第二镜像的模块。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
本申请还提供一种服务器,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
本申请提供一种镜像构建方法,包括:接收配置请求;所述配置请求包括构建配置请求、链接配置请求和业务应用配置请求;根据所述构建配置请求调用基础镜像库中的根文件系统构建第一镜像;根据所述链接配置请求调用链接文件库文件导入至所述第一镜像,得到第二镜像;确定所述业务应用请求对应的业务应用配置,将所述业务应用配置导入所述第二镜像,得到容器化镜像。
本申请通过采取分阶段的自动化构建方法,先利用根文件系统构建第一镜像,再在第一镜像基础上导入链接文件库文件,最后导入业务应用完成镜像的构建,全程通过配置请求避免镜像构建过程中的重复编译,同时可根据配置请求面对不同CPU平台和操作系统,提高镜像兼容性,且执行构建的过程自动化,减少人工参与,镜像构建效率高,进一步开发测试的工作效率。本申请还提供一种镜像构建系统、计算机可读存储介质和服务器,具有上述有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种镜像构建方法的流程图;
图2为本申请实施例所提供的一种镜像构建系统结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的一种镜像构建方法的流程图,该方法包括:
S101:接收配置请求;
本步骤中,OS系统宿主机接收配置请求,该配置请求即针对于镜像的配置请求,至少包括构建配置请求、链接配置请求和业务应用配置请求。当然,本领域技术人员还可以在此技术上,在配置请求中添加其他请求,例如镜像的挂载位置、环境配置请求、端口请求等等。构建配置请求指的是镜像的基础文件构建,容易理解的是,镜像在构建之前应明确其对应的使用环境,即应用平台。若应用不同架构的CPU,或者不同操作系统,则其根文件系统存在较大差异。本步骤对于具体的构建配置请求不作限定,在实际应用中应根据镜像的应用平台作相应的设定。
S102:根据所述构建配置请求调用基础镜像库中的根文件系统构建第一镜像;
本步骤旨在构建第一镜像,即基于基础镜像库中根文件系统。为了提高镜像的兼容性,可在基础镜像库中事先针对不同平台或应用环境的根文件系统。需要注意的是,基础镜像库为OS系统宿主机可调用的数据库。
S103:根据所述链接配置请求调用链接文件库文件导入至所述第一镜像,得到第二镜像;
本步骤旨在将链接文件库文件导入第一镜像,通常,链接文件库文件包括动态链接文件库文件和静态链接文件库文件,则此时执行本步骤时根据链接配置请求分别调用动态链接文件库文件和静态链接文件库文件导入至第一镜像。动态链接库包含了函数所在的DLL文件和文件中函数位置的信息,代码由运行时加载在进程空间中的DLL提供。而静态链接库包含函数代码本身,在编译时直接将代码加入程序当中。无论是动态链接库还是静态链接库,均为镜像运行所必需。当然,在此对于动态链接文件库文件和静态链接文件库文件之间的导入顺序并不作限定。
S104:确定所述业务应用请求对应的业务应用配置,将所述业务应用配置导入所述第二镜像,得到容器化镜像。
本步骤旨在确定业务应用配置并导入第二镜像,即可得到容器化镜像。
特别的,此后还可以将容器化镜像导入应用镜像库,则宿主机可以通过第三方平台直接应用容器化镜像。
本申请实施例通过采取分阶段的自动化构建方法,先利用根文件系统构建第一镜像,再在第一镜像基础上导入链接文件库文件,最后导入业务应用完成镜像的构建,全程通过配置请求避免镜像构建过程中的重复编译,同时可根据配置请求面对不同CPU平台和操作系统,提高镜像兼容性,且执行构建的过程自动化,减少人工参与,镜像构建效率高,进一步开发测试的工作效率
基于上述实施例,作为优选的实施例,该构件方法还可以包括:
S201:对所述容器化镜像执行兼容性检测;
S202:若所述容器化镜像存在兼容性异常,判断所述业务应用配置请求与所述构建配置请求是否对应;若否,进入S203;
S203:确定所述业务应用请求对应的兼容业务应用配置,并将所述兼容业务应用配置导入所述第二镜像,重新得到容器化镜像。
本步骤旨在对容器化镜像进行兼容性检测,由于在容器化镜像生成过程中,构建配置请求和链接配置请求对应的文件内容明确,而业务应用配置请求对应的文件内容较多,可能存在不兼容的业务应用数据被导入镜像,使得镜像运行不流畅或者影响使用,因此本实施例旨在对容器化镜像进行兼容性检测。若确认存在兼容性异常,判断业务应用配置请求与构建配置请求是否对应,即所要构建的镜像对应平台与对应的业务应用是否存在兼容性问题,若是,可以重新确定业务应用请求对应的兼容业务应用配置,并重建容器化镜像。若不是,可以直接重新接受配置请求,重新生成容器化镜像。
下面对本申请实施例提供的一种镜像构建系统进行介绍,下文描述的镜像构建系统与上文描述的一种镜像构建方法可相互对应参照。
参见图2,图2为本申请实施例所提供的一种镜像构建系统结构示意图,本申请还提供一种镜像构建系统,包括:
配置接收模块100,用于接收配置请求;所述配置请求包括构建配置请求、链接配置请求和业务应用配置请求;
第一构建模块200,用于根据所述构建配置请求调用基础镜像库中的根文件系统构建第一镜像;
第二构建模块300,用于根据所述链接配置请求调用链接文件库文件导入至所述第一镜像,得到第二镜像;
第三构建模块400,用于确定所述业务应用请求对应的业务应用配置,将所述业务应用配置导入所述第二镜像,得到容器化镜像。
基于上述实施例,作为优选的实施例,还包括:
镜像导入模块,用于将所述容器化镜像导入应用镜像库,以便宿主机通过第三方平台应用所述容器化镜像。
基于上述实施例,作为优选的实施例,还包括:
兼容检测模块,用于对所述容器化镜像执行兼容性检测;若所述容器化镜像存在兼容性异常,判断所述业务应用配置请求与所述构建配置请求是否对应;若否,确定所述业务应用请求对应的兼容业务应用配置,并将所述兼容业务应用配置导入所述第二镜像,重新得到容器化镜像。
基于上述实施例,作为优选的实施例,所述第二构建模块为根据所述链接配置请求分别调用动态链接文件库文件和静态链接文件库文件导入至所述第一镜像,得到第二镜像的模块。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种服务器,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述服务器还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (8)

1.一种镜像构建方法,其特征在于,包括:
接收配置请求;所述配置请求包括构建配置请求、链接配置请求和业务应用配置请求;
根据所述构建配置请求调用基础镜像库中的根文件系统构建第一镜像;
根据所述链接配置请求调用链接文件库文件导入至所述第一镜像,得到第二镜像;
确定所述业务应用请求对应的业务应用配置,将所述业务应用配置导入所述第二镜像,得到容器化镜像;
对所述容器化镜像执行兼容性检测;
若所述容器化镜像存在兼容性异常,判断所述业务应用配置请求与所述构建配置请求是否对应;
若否,确定所述业务应用请求对应的兼容业务应用配置,并将所述兼容业务应用配置导入所述第二镜像,重新得到容器化镜像。
2.根据权利要求1所述的镜像构建方法,其特征在于,还包括:
将所述容器化镜像导入应用镜像库,以便宿主机通过第三方平台应用所述容器化镜像。
3.根据权利要求1所述的镜像构建方法,其特征在于,根据所述链接配置请求调用链接文件库文件导入至所述第一镜像,得到第二镜像包括:
根据所述链接配置请求分别调用动态链接文件库文件和静态链接文件库文件导入至所述第一镜像,得到第二镜像。
4.一种镜像构建系统,其特征在于,包括:
配置接收模块,用于接收配置请求;所述配置请求包括构建配置请求、链接配置请求和业务应用配置请求;
第一构建模块,用于根据所述构建配置请求调用基础镜像库中的根文件系统构建第一镜像;
第二构建模块,用于根据所述链接配置请求调用链接文件库文件导入至所述第一镜像,得到第二镜像;
第三构建模块,用于确定所述业务应用请求对应的业务应用配置,将所述业务应用配置导入所述第二镜像,得到容器化镜像;
兼容检测模块,用于对所述容器化镜像执行兼容性检测;若所述容器化镜像存在兼容性异常,判断所述业务应用配置请求与所述构建配置请求是否对应;若否,确定所述业务应用请求对应的兼容业务应用配置,并将所述兼容业务应用配置导入所述第二镜像,重新得到容器化镜像。
5.根据权利要求4所述的镜像构建系统,其特征在于,还包括:
镜像导入模块,用于将所述容器化镜像导入应用镜像库,以便宿主机通过第三方平台应用所述容器化镜像。
6.根据权利要求4所述的镜像构建系统,其特征在于,所述第二构建模块为根据所述链接配置请求分别调用动态链接文件库文件和静态链接文件库文件导入至所述第一镜像,得到第二镜像的模块。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-3任一项所述的方法的步骤。
8.一种服务器,其特征在于,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1-3任一项所述的方法的步骤。
CN202010605052.7A 2020-06-29 2020-06-29 一种镜像构建方法、系统及相关装置 Active CN111857797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010605052.7A CN111857797B (zh) 2020-06-29 2020-06-29 一种镜像构建方法、系统及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010605052.7A CN111857797B (zh) 2020-06-29 2020-06-29 一种镜像构建方法、系统及相关装置

Publications (2)

Publication Number Publication Date
CN111857797A CN111857797A (zh) 2020-10-30
CN111857797B true CN111857797B (zh) 2022-04-22

Family

ID=72989819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010605052.7A Active CN111857797B (zh) 2020-06-29 2020-06-29 一种镜像构建方法、系统及相关装置

Country Status (1)

Country Link
CN (1) CN111857797B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363803B (zh) * 2020-11-13 2022-06-07 浪潮电子信息产业股份有限公司 一种镜像构建方法、系统、设备及介质
CN112486523A (zh) * 2020-12-18 2021-03-12 航天信息股份有限公司 容器镜像创建方法和装置、存储介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648749A (zh) * 2016-11-11 2017-05-10 广州华多网络科技有限公司 一种可执行程序动态调用方法及系统
CN108920136A (zh) * 2018-06-29 2018-11-30 郑州云海信息技术有限公司 一种基于容器的操作系统创建方法、系统及相关装置
CN108958927A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 容器应用的部署方法、装置、计算机设备和存储介质
WO2019095936A1 (zh) * 2017-11-15 2019-05-23 腾讯科技(深圳)有限公司 容器镜像的构建方法、系统、服务器、装置及存储介质
CN111190687A (zh) * 2019-11-28 2020-05-22 安超云软件有限公司 一种容器镜像的构建方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648749A (zh) * 2016-11-11 2017-05-10 广州华多网络科技有限公司 一种可执行程序动态调用方法及系统
WO2019095936A1 (zh) * 2017-11-15 2019-05-23 腾讯科技(深圳)有限公司 容器镜像的构建方法、系统、服务器、装置及存储介质
CN108958927A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 容器应用的部署方法、装置、计算机设备和存储介质
CN108920136A (zh) * 2018-06-29 2018-11-30 郑州云海信息技术有限公司 一种基于容器的操作系统创建方法、系统及相关装置
CN111190687A (zh) * 2019-11-28 2020-05-22 安超云软件有限公司 一种容器镜像的构建方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向Dockerfile的容器镜像构建工具;耿朋等;《计算机系统应用》;20161115(第11期);全文 *

Also Published As

Publication number Publication date
CN111857797A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN109508178B (zh) 一种程序开发方法及装置
US20120159443A1 (en) System and method for reducing test effort by object risk analysis
CN111857797B (zh) 一种镜像构建方法、系统及相关装置
CN110673924B (zh) 一种多架构容器云镜像选择方法、装置、设备及存储介质
CN111679852B (zh) 一种冲突依赖库的检测方法及装置
CN110955409B (zh) 在云平台上创建资源的方法和装置
CN114047925A (zh) 隔离编译环境的构建方法、装置、设备及存储介质
US20080141219A1 (en) Multiple inheritance facility for java script language
CN113704110A (zh) 用户界面的自动化测试方法及装置
US11422917B2 (en) Deriving software application dependency trees for white-box testing
CN115391228A (zh) 精准测试方法、装置、设备及介质
CN116049207A (zh) 应用程序sql脚本处理方法、装置、处理器及电子设备
CN106502707B (zh) 代码生成方法及装置
CN117112060A (zh) 组件库构建方法、装置、电子设备及存储介质
US20070168742A1 (en) Isolating code modules
CN115048082A (zh) 微前端系统构建方法、装置、服务器及可读存储介质
CN110471828B (zh) 一种操作系统测试方法、装置及其设备
CN112486517B (zh) 应用程序的安装方法、系统、电子设备及存储介质
CN109358972B (zh) 中间件客户端的日志管理方法、装置及计算机系统
CN114791884A (zh) 测试环境的构建方法、装置、存储介质及电子设备
CN115145595A (zh) 依赖库的安装方法、装置、服务器、电子设备及存储介质
CN111367796B (zh) 应用程序调试方法及装置
CN111209197B (zh) 应用程序持续集成测试方法、系统、设备和存储介质
CN110727601B (zh) 多平台程序的测试方法及相关装置
CN112732562A (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