CN116467049A - 微服务的容器镜像构建方法、装置、系统、设备及介质 - Google Patents
微服务的容器镜像构建方法、装置、系统、设备及介质 Download PDFInfo
- Publication number
- CN116467049A CN116467049A CN202310528480.8A CN202310528480A CN116467049A CN 116467049 A CN116467049 A CN 116467049A CN 202310528480 A CN202310528480 A CN 202310528480A CN 116467049 A CN116467049 A CN 116467049A
- Authority
- CN
- China
- Prior art keywords
- parameter information
- docker
- name
- mirror image
- package
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000001419 dependent effect Effects 0.000 claims abstract description 118
- 238000010276 construction Methods 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 11
- 238000009434 installation Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 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
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种微服务的容器镜像构建方法、装置、系统、设备及介质,该方法预先配置构建镜像所需的参数信息和/或依赖包,将参数信息和/或依赖包存储于不同的存储介质并生成统一调用地址清单,创建Docker数据容器并根据Docker数据容器的业务应用的名称基于统一调用地址清单从数据库中调取参数信息和/或从服务器中调取依赖包,在Dockerfile文件中打包添加参数信息和/或依赖包,从而构建定制化的Docker镜像并推送至镜像仓库。本申请提供的方法,使得具有特殊资源的微服务镜像也可以自动化构建,避免了手动编排管理Dockerfile,实现了Docker镜像的定制化构建,提高了微服务的自动化部署水平。
Description
技术领域
本申请涉及微服务部署技术领域,具体涉及一种微服务的容器镜像构建方法、装置、系统、设备及介质。
背景技术
容器技术作为当下一种非常流行的虚拟化技术,被各大互联网公司广泛应用,其中以Docker容器最受欢迎。
在进行微服务架构的过程中,通常每个微服务都是一个Docker容器,使用K8S管理和编排Docker容器,使用Dockerfile构建镜像。但是在Dockerfile构建镜像的过程中,由于每个微服务都或多或少存在区别(例如有些需要安装特殊软件、有些需要创建特殊目录等),若使用标准Dockerfile模板文件构建镜像无法满足个性化的业务需求,如果手动编排针对每个微服务的个性化Dockerfile需要付出很大的人力物力资源。因此,需要解决有特殊配置或安装软件的微服务镜像的自动化构建问题。
发明内容
为解决上述问题,本申请实施例提供了一种微服务的容器镜像构建方法、装置、系统、设备及介质,能够对有特殊配置或有安装软件的微服务自动构建镜像,提升自动化部署水平。
本申请实施例采用下述技术方案:
第一方面,提供了一种微服务的容器镜像构建方法,该方法包括:
提供配置管理页面,响应于在配置管理页面的录入信息,获取业务应用对应的参数信息和/或对应的依赖包;
基于业务应用的名称将参数信息存储于数据库,和/或将依赖包存储于服务器,生成参数信息和/或依赖包的统一调用地址清单;
创建Docker数据容器并确定Docker数据容器的业务应用的名称,根据Docker数据容器的业务应用的名称,基于统一调用地址清单从数据库中调取参数信息和/或从服务器中调取依赖包;
根据参数信息和/或依赖包生成Dockerfile文件,基于Dockerfile文件构建Docker镜像并推送至镜像仓库。
第二方面,提供了一种微服务的容器镜像构建装置,该装置包括:
资源获取单元,用于提供配置管理页面,响应于在配置管理页面的录入信息,获取业务应用对应的参数信息和/或对应的依赖包;
地址生成单元,用于基于业务应用的名称将参数信息存储于数据库,和/或将依赖包存储于服务器,生成参数信息和/或依赖包的统一调用地址清单;
数据容器创建单元,用于创建Docker数据容器并确定Docker数据容器的业务应用的名称,根据Docker数据容器的业务应用的名称,基于统一调用地址清单从数据库中调取参数信息和/或从服务器中调取依赖包;
镜像构建单元,用于根据参数信息和/或依赖包生成Dockerfile文件,基于Dockerfile文件构建Docker镜像并推送至镜像仓库。
第三方面,提供了一种微服务的容器镜像构建系统,该系统包括:
配置中心,配置中心包括配置管理页面及数据库;配置管理页面用于提供给用户,以响应于对配置管理页面的录入指令,获取业务应用对应的参数信息和/或对应的依赖包;数据库用于基于业务应用的名称存储参数信息,并将参数信息的调用地址接口发送于构建中心;
服务器,用于基于业务应用的名称存储依赖包,并将依赖包的调用地址接口发送于构建中心;
构建中心,用于根据参数信息的调用地址接口和依赖包的调用地址接口生成参数信息和/或依赖包的统一调用地址;创建Docker数据容器并确定Docker数据容器的业务应用的名称,根据业务应用的名称,基于统一调用地址从配置中心中调取参数信息和/或从服务器中调取依赖包;根据参数信息和/或依赖包生成Dockerfile文件,基于Dockerfile文件构建Docker镜像并推送至镜像中心;
镜像中心,镜像中心包括镜像仓库,用于接收并部署Docker镜像。
第四方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述微服务的容器镜像构建方法的步骤。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序被处理器指令时实现上述微服务的容器镜像构建方法的步骤。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请提供的微服务的容器镜像构建方法,提供配置管理页面,响应于在配置管理页面的录入信息,获取业务应用对应的参数信息和/或对应的依赖包;基于业务应用的名称将参数信息存储于数据库,和/或将依赖包存储于服务器,生成参数信息和/或依赖包的统一调用地址清单;创建Docker数据容器并确定Docker数据容器的业务应用的名称,根据Docker数据容器的业务应用的名称,基于统一调用地址清单从数据库中调取参数信息和/或从服务器中调取依赖包;根据参数信息和/或依赖包生成Dockerfile文件,基于Dockerfile文件构建Docker镜像并推送至镜像仓库。本申请提供的微服务的容器镜像构建方法,预先配置微服务镜像所需的参数和/或安装包资源,将参数信息和/或依赖包存储于不同的存储介质,并生成统一调用地址清单,在Dockerfile文件中打包添加参数和/或安装包资源,从而构建定制化的Docker镜像并推送至镜像仓库。本申请提供的微服务的容器镜像构建方法,使得具有特殊资源的微服务镜像也可以自动化构建,避免了手动编排管理Dockerfile,实现了Docker镜像的定制化构建,提高了微服务的自动化部署水平。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出根据本申请的一个实施例的微服务的容器镜像构建方法的流程示意图;
图2示出根据本申请的一个实施例的微服务的容器镜像构建方法的Pampas前端页面的展示效果图;
图3示出根据本申请的另一个实施例的微服务的容器镜像构建方法的流程示意图;
图4示出根据本申请的一个实施例的微服务的容器镜像构建装置的结构示意图;
图5示出根据本申请的一个实施例的微服务的容器镜像构建系统的结构示意图;
图6示出根据本申请的一个实施例的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为使本领域普通技术人员能够更清楚地理解本申请的各实施例,以下对本申请中涉及到的专业术语进行解释。
Docker数据容器:Docker数据容器是一个开源的应用容器引擎,可以让开发者打包应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上。
Dockerfile文件:Dockerfile文件是一个包含用于组合镜像的命令的文本文档,可以使用在命令行中调用任何命令。Docker数据容器通过读取Dockerfile中的指令自动生成镜像。
Docker build命令:Docker build命令用于指令从Dockerfile文件构建镜像。
Pampas:Pampas是一个配置管理中心,其能够提供Pampas前端页面以供用户进行资源录入,其还能够提供Pampas数据库以存储微服务相关配置的参数信息。
yum服务器:yum服务器包含存放各种安装包文件的软件仓库和仓库数据,能够进行软件管理。
Harbor镜像仓库:Harbor镜像仓库是由Vmware公司开源的企业级的DockerRegistry管理项目,适用于大规模Docker集群部署,提供仓库服务。
下面通过具体的实施例对本申请进行详细的描述。
图1示出了本申请一个实施例提出的微服务的容器镜像构建方法。根据图1所示,该方法包括步骤S110~步骤S140:
步骤S110,提供配置管理页面,响应于在配置管理页面的录入信息,获取业务应用对应的参数信息和/或对应的依赖包。
首先向用户提供一个显示配置的前端界面,该前端界面上展示配置管理页面。配置管理页面可以但不限于包括业务应用配置选项、初始化命令配置选项、软件安装包配置选项、创建人信息配置选项等。配置管理页面还可以提供新增模块、更改模块和配置引导等,以接收用户输入的录入信息。用户在配置管理页面输入录入信息,通过用户输入的录入信息,获取业务应用对应的参数信息和/或对应的依赖包。
在实际应用中,在前端界面上,用户可以点击配置管理页面的新增模块,开始基于配置引导输入录入信息。用户可以在应用配置选项中输入业务应用的业务应用名称(比如“supervision”)、在初始化命令配置选项中输入该业务应用对应的参数信息、在软件安装包配置选项上传该业务应用对应的依赖包(比如“ffmpeg”)、在创建人信息配置选项输入创建人(比如“dongshanmu404”)等。如果该业务应用没有对应的参数信息或者没有对应的依赖包,用户可以不输入初始化命令配置选项的内容(即初始化命令配置选项为空)或者用户可以不上传软件安装包配置选项的内容(即软件安装包配置选项为空)。还可以在用户通过新增模块输入录入信息之后,自动生成该条录入信息的录入ID和录入时间。
在实际应用中,在前端界面上,用户可以点击配置管理页面的更新模块,对已经输入的录入信息进行更新。用户可以更改已输入的业务应用名称、参数信息、创建人等,也可以替换已上传的依赖包。用户还可以在未输入初始化命令配置选项的内容和/或未上传软件安装包配置选项的内容的情况下,输入参数信息和/或上传依赖包。可以在用户通过更新模块更新录入信息之后,自动生成该录入信息的更新时间。
步骤S120,基于业务应用的名称将参数信息存储于数据库,和/或将依赖包存储于服务器,生成参数信息和/或依赖包的统一调用地址清单。
在用户同时录入了参数信息和上传了依赖包的情况下,获取业务应用对应的参数信息和对应的依赖包后,以业务应用的名称作为关联业务应用、参数信息和依赖包的特征标识。将参数信息以业务应用的名称为特征标识存储于数据库,将依赖包以业务应用的名称为特征标识存储于服务器。也就是说,虽然参数信息和依赖包的存储介质不同,但参数信息和依赖包均以业务应用的名称作为特征标识存储,只要业务应用的名称相同,即表示参数信息和依赖包与该业务应用具有关联关系。为参数信息和依赖包生成统一调用地址,统一调用地址用于指示通过该调用地址可以同时实现在数据库中调用参数信息、以及在服务器中调用依赖包。由于参数信息和依赖包的存储介质不同,其存储路径也不同,可以集成参数信息的调用地址和依赖包的调用地址,生成统一调用地址。
在用户未录入参数信息的情况下,获取业务应用对应的依赖包后,以业务应用的名称作为关联业务应用和依赖包的特征标识,将依赖包以业务应用的名称为特征标识存储于服务器,基于依赖包的调用地址生成统一调用地址。在用户未上传依赖包的情况下,获取业务应用对应的参数信息,以业务应用的名称作为关联业务应用和参数信息的依赖包的特征标识,将参数信息以业务应用的名称为特征标识存储于数据库,基于参数信息的调用地址生成统一调用地址。
进而,可以将各统一调用地址罗列为对应的业务应用的名称的列表式关联关系,从而形成统一调用地址清单。
步骤S130,创建Docker数据容器并确定Docker数据容器的业务应用的名称,根据Docker数据容器的业务应用的名称,基于统一调用地址清单从数据库中调取参数信息和/或从服务器中调取依赖包。
创建Docker数据容器Docker data container,并确定Docker数据容器的业务应用的名称。该Docker数据容器的业务应用的名称作为微服务的特征标识,用来调取其构建镜像所需的参数和/或安装包资源。根据Docker数据容器的业务应用的名称,基于统一调用地址清单在数据库中调取名称相同的参数信息和/或从服务器中调取名称相同的依赖包,从而得到该微服务所对应的特殊资源。
在实际应用中,创建Docker数据容器并确定其业务应用的名称(比如“supervision”)。统一调用地址清单中罗列了业务应用的名称与各统一调用地址的关联关系,基于该关联关系确定调取资源的统一调用地址,在数据库中调取相应的参数信息和/或在服务器中调取相应的依赖包。
步骤S140,根据参数信息和/或依赖包生成Dockerfile文件,基于Dockerfile文件构建Docker镜像并推送至镜像仓库。
为了构建镜像,需要生成Dockerfile文件,该Dockerfile文件包含各微服务的特殊资源。在生成Dockerfile文件时,可以在标准Dockerfile文件基础上,将参数信息和依赖包打包添加到Dockerfile文件,从而实现对有特殊资源的微服务镜像的自动化构建。基于Dockerfile文件构建Docker镜像并推送至镜像仓库,进而为微服务创建运行环境。
从图1所示的方法可以看出,本申请提供的微服务的容器镜像构建方法,提供配置管理页面,响应于在配置管理页面的录入信息,获取业务应用对应的参数信息和/或对应的依赖包;基于业务应用的名称将参数信息存储于数据库,和/或将依赖包存储于服务器,生成参数信息和/或依赖包的统一调用地址清单;创建Docker数据容器并确定Docker数据容器的业务应用的名称,根据Docker数据容器的业务应用的名称,基于统一调用地址清单从数据库中调取参数信息和/或从服务器中调取依赖包;根据参数信息和/或依赖包生成Dockerfile文件,基于Dockerfile文件构建Docker镜像并推送至镜像仓库。本申请提供的微服务的容器镜像构建方法,预先配置微服务镜像所需的参数和/或安装包资源,将参数信息和/或依赖包存储于不同的存储介质,并生成统一调用地址清单,在Dockerfile文件中打包添加参数和/或安装包资源,从而构建定制化的Docker镜像并推送至镜像仓库。本申请提供的微服务的容器镜像构建方法,使得具有特殊资源的微服务镜像也可以自动化构建,避免了手动编排管理Dockerfile,实现了Docker镜像的定制化构建,提高了微服务的自动化部署水平。
在一些可选的实施方式中,在上述方法中,步骤S110,提供配置管理页面,响应于在配置管理页面的录入信息,获取业务应用对应的参数信息和/或对应的依赖包,包括:提供Pampas前端页面,其中,Pampas前端页面至少包括业务应用配置选项、初始化命令配置选项及软件安装包配置选项;当接收到用户在Pampas前端页面输入的录入信息后,通过业务应用配置选项的输入结果获取业务应用的名称,通过初始化命令配置选项不为空的输入结果获取参数信息,通过软件安装包配置选项不为空的上传结果获取依赖包;确定业务应用的名称与参数信息和/或依赖包的对应关系。
可以通过Pampas配置中心向用户提供Pampas前端页面。图2示出了本申请一个实施例提出的微服务的容器镜像构建方法的Pampas前端页面的展示效果图。根据图2所示,Pampas前端页面至少包括了业务应用配置选项、初始化命令配置选项及软件安装包配置选项;Pampas前端页面还可以包括录入ID、工作用户、工作路径、创建人、操作类型等配置选项。用户可以通过新增模块增加新的业务应用对应的参数信息和/或依赖包,用户也可以通过更新模块修改已输入的录入信息等。以图2所示的录入ID15为例,通过业务应用配置选项的输入结果获取业务应用的名称为“supervision”,通过软件安装包配置选项的上传结果获取依赖包“ffmpeg”,初始化命令配置选项的输入结果为空则不存在特殊配置的参数信息。获取各特殊资源后,确定业务应用的名称与参数信息和/或依赖包的对应关系。依然以图2所示的录入ID15为例,由于其不存在特殊配置的参数信息,因此确定“supervision-ffmpeg”的对应关系。
在一些可选的实施方式中,在上述方法中,步骤S120,基于业务应用的名称将参数信息存储于数据库,和/或将依赖包存储于服务器,生成参数信息和/或依赖包的统一调用地址清单,包括:基于业务应用的名称将参数信息存储于Pampas数据库,确定参数信息的调用地址接口;和/或,基于业务应用的名称将依赖包存储于yum服务器,确定依赖包的调用地址接口;根据参数信息的调用地址接口和/或依赖包的调用地址接口,生成参数信息及依赖包的统一调用地址清单。
特殊配置的参数信息通过Pampas前端存储到Pampas配置中心的Pampas数据库中。在存储时,可以仍然保留有参数信息的文件名,但需要基于业务应用的名称为特征标识进行存储。特殊配置的依赖包可以通过Pampas前端上传存储至yum服务器。可以通过上传工具Uploader将依赖包上传并存储至yum服务器。在存储时,可以仍然包括有依赖包的文件名,但需要基于业务应用的名称为特征标识进行存储。存储参数信息后,确定参数信息的调用地址结构;存储依赖包后,确定依赖包的调用地址接口。将参数信息的调用地址接口和依赖包的调用地址接口基于一定的算法生成统一调用地址。统一调用地址用于指示可以通过该统一调用地址同时调取参数信息和依赖包。若某一业务应用的名称不存在特殊配置的参数信息或者不存在特殊配置的依赖包时,通过统一调用地址仅调用与业务应用的名称有关联关系的特殊资源。然后将各业务应用的名称和其能够对应的统一调用地址罗列为列表式关联关系清单,形成统一调用地址清单,统一调用地址清单可以以json文件的形式存储。
在一些可选的实施方式中,在上述方法中,步骤S130,创建Docker数据容器并确定Docker数据容器的业务应用的名称,根据Docker数据容器的业务应用的名称,基于统一调用地址清单从数据库中调取参数信息和/或从服务器中调取依赖包,包括:创建Docker数据容器并确定Docker数据容器的业务应用的名称;判断统一调用地址清单中是否存在与Docker数据容器的业务应用的名称对应的表单;若存在,则基于统一调用地址清单从数据库中调取参数信息和/或从服务器中调取依赖包。
创建Docker数据容器Docker data container,并确定Docker数据容器的业务应用的名称。根据Docker数据容器的业务应用的名称,在统一调用地址清单中进行查找,确定统一调用地址清单中是否存在与该Docker数据容器的业务应用的名称对应的表单。如果存在,则意味着具有特殊配置的参数资源和/或软件安装包,Docker镜像需要定制化构建。因此,基于统一调用地址API调用对应的参数信息和依赖包。
在一些可选的实施方式中,在上述方法中,判断统一调用地址清单中是否存在与Docker数据容器的业务应用的名称对应的表单的步骤之后,该方法还包括:若不存在,则创建标准Dockerfile文件,在标准Dockerfile文件所在的目录利用Docker build构建镜像,并推送至Harbor镜像仓库。
如果统一调用地址清单中不存在与Docker数据容器的业务应用的名称对应的表单,则意味着Docker镜像不需要定制化构建,只需基于默认的模板构建镜像参数即可。因此,可以创建标准Dockerfile文件,在标准Dockerfile文件所在的目录利用Docker build命令构建标准Docker镜像。
在一些可选的实施方式中,在上述方法中,步骤S140,根据参数信息和/或依赖包生成Dockerfile文件,基于Dockerfile文件构建Docker镜像并推送至镜像仓库,包括:创建标准Dockerfile文件;将调取的参数信息和/或依赖包添加到标准Dockerfile文件,形成更新Dockerfile文件;在更新Dockerfile文件所在的目录利用Docker build构建镜像,并推送至Harbor镜像仓库。
Dockerfile文件由一系列命令和参数构成脚本,可以执行shell命令等。在需要进行定制化镜像的情况下,首先创建标准Dockerfile文件,然后基于统一调用地址清单调取的参数信息和/或依赖包对标准Dockerfile文件进行更新。可以将参数信息和依赖包打包添加到标准Dockerfile文件中,形成更新Dockerfile文件,该更新Dockerfile文件包含了特殊配置资源。在更新Dockerfile文件所在的目录利用Docker build命令构建定制化Docker镜像。
不论是标准Docker镜像或是定制化Docker镜像被推送到Harbor镜像仓库,为微服务创建运行环境。
图3示出了本申请另一个实施例的微服务的容器镜像构建方法的流程示意图。根据图3所示,该方法可以包括以下步骤。
步骤S301,提供Pampas前端页面,其中,Pampas前端页面至少包括业务应用配置选项、初始化命令配置选项及软件安装包配置选项;当接收到用户在Pampas前端页面输入的录入信息后,通过业务应用配置选项的输入结果获取业务应用的名称,通过初始化命令配置选项不为空的输入结果获取参数信息,通过软件安装包配置选项不为空的上传结果获取依赖包;确定业务应用的名称与参数信息和/或依赖包的对应关系。转步骤S302。
步骤S302,基于业务应用的名称将参数信息存储于Pampas数据库,确定参数信息的调用地址接口;和/或,基于业务应用的名称将依赖包存储于yum服务器,确定依赖包的调用地址接口;根据参数信息的调用地址接口和/或依赖包的调用地址接口,生成参数信息及依赖包的统一调用地址清单。转步骤S303。
步骤S303,创建Docker数据容器并确定Docker数据容器的业务应用的名称。转步骤S304。
步骤S304,判断统一调用地址清单中是否存在与Docker数据容器的业务应用的名称对应的表单;若存在,转步骤S305;若不存在,转步骤S306。
步骤S305,基于统一调用地址清单从数据库中调取参数信息和/或从服务器中调取依赖包;创建标准Dockerfile文件;将调取的参数信息和/或依赖包添加到标准Dockerfile文件,形成更新Dockerfile文件;在更新Dockerfile文件所在的目录利用Docker build构建镜像,并推送至Harbor镜像仓库。
步骤S306,创建标准Dockerfile文件,在标准Dockerfile文件所在的目录利用Docker build构建镜像,并推送至Harbor镜像仓库。
图4示出了本申请一个实施例的服务的容器镜像构建装置的结构示意图。根据图4所示,该装置400包括:
资源获取单元401,用于提供配置管理页面,响应于在配置管理页面的录入信息,获取业务应用对应的参数信息和/或对应的依赖包;
地址生成单元402,用于基于业务应用的名称将参数信息存储于数据库,和/或将依赖包存储于服务器,生成参数信息和/或依赖包的统一调用地址清单;
数据容器创建单元403,用于创建Docker数据容器并确定Docker数据容器的业务应用的名称,根据Docker数据容器的业务应用的名称,基于统一调用地址清单从数据库中调取参数信息和/或从服务器中调取依赖包;
镜像构建单元404,用于根据参数信息和/或依赖包生成Dockerfile文件,基于Dockerfile文件构建Docker镜像并推送至镜像仓库。
在一些可选的实施方式中,在上述装置400中,资源获取单元401,具体用于提供Pampas前端页面,其中,Pampas前端页面至少包括业务应用配置选项、初始化命令配置选项及软件安装包配置选项;当接收到用户在Pampas前端页面输入的录入信息后,通过业务应用配置选项的输入结果获取业务应用的名称,通过初始化命令配置选项不为空的输入结果获取参数信息,通过软件安装包配置选项不为空的上传结果获取依赖包;确定业务应用的名称与参数信息和/或依赖包的对应关系。
在一些可选的实施方式中,在上述装置400中,地址生成单元402,具体用于基于业务应用的名称将参数信息存储于Pampas数据库,确定参数信息的调用地址接口;和/或,基于业务应用的名称将依赖包存储于yum服务器,确定依赖包的调用地址接口;根据参数信息的调用地址接口和/或依赖包的调用地址接口,生成参数信息及依赖包的统一调用地址清单。
在一些可选的实施方式中,在上述装置400中,数据容器创建单元403,具体用于创建Docker数据容器并确定Docker数据容器的业务应用的名称;判断统一调用地址清单中是否存在与Docker数据容器的业务应用的名称对应的表单;若存在,则基于统一调用地址清单从数据库中调取参数信息和/或从服务器中调取依赖包。
在一些可选的实施方式中,上述装置400还包括:标准Docker镜像构建单元,用于在统一调用地址清单中不存在与Docker数据容器的业务应用的名称对应的表单时,创建标准Dockerfile文件,在标准Dockerfile文件所在的目录利用Docker build构建镜像,并推送至Harbor镜像仓库。
在一些可选的实施方式中,在上述装置400中,镜像构建单元404,具体用于创建标准Dockerfile文件;将调取的参数信息和/或依赖包添加到标准Dockerfile文件,形成更新Dockerfile文件;在更新Dockerfile文件所在的目录利用Docker build构建镜像,并推送至Harbor镜像仓库。
需要说明的是,上述微服务的容器镜像构建装置400可一一实现前述的微服务的容器镜像构建方法,对此不再赘述。
图5示出了本申请一个实施例的微服务的容器镜像构建系统的结构示意图。根据图5所示,该系统500包括:
配置中心501,配置中心包括配置管理页面及数据库;配置管理页面用于提供给用户,以响应于在配置管理页面的录入信息,获取业务应用对应的参数信息和/或对应的依赖包;数据库用于基于业务应用的名称存储参数信息,并将参数信息的调用地址接口发送于构建中心;
服务器502,用于基于业务应用的名称存储依赖包,并将依赖包的调用地址接口发送于构建中心;
构建中心503,用于根据参数信息的调用地址接口和依赖包的调用地址接口生成参数信息和依赖包的统一调用地址清单;创建Docker数据容器并确定Docker数据容器的业务应用的名称,根据Docker数据容器的业务应用的名称,基于统一调用地址清单从配置中心中调取参数信息和/或从服务器中调取依赖包;根据参数信息和/或依赖包生成Dockerfile文件,基于Dockerfile文件构建Docker镜像并推送至镜像中心;
镜像中心504,镜像中心包括镜像仓库,用于接收并部署Docker镜像。
在一些可选的实施方式中,在上述系统500中,配置中心501为Pampas配置中心,Pampas配置中心的配置管理页面为Pampas前端页面,Pampas配置中心的数据库为Pampas数据库。Pampas前端页面至少包括业务应用配置选项、初始化命令配置选项及软件安装包配置选项。用于当接收到用户在Pampas前端页面输入的录入信息后,通过业务应用配置选项的输入结果获取业务应用的名称,通过初始化命令配置选项不为空的输入结果获取参数信息,通过软件安装包配置选项不为空的上传结果获取依赖包;确定业务应用的名称与参数信息和/或依赖包的对应关系。
在一些可选的实施方式中,在上述系统500中,服务器502为yum服务器。
在一些可选的实施方式中,在上述系统500中,构建中心503,还用于判断统一调用地址清单中是否存在与Docker数据容器的业务应用的名称对应的表单;在存在时,基于统一调用地址清单从Pampas配置中心中调取参数信息和/或从服务器中调取依赖包;创建标准Dockerfile文件;将调取的参数信息和/或依赖包添加到标准Dockerfile文件,形成更新Dockerfile文件;在更新Dockerfile文件所在的目录利用Docker build构建镜像,并推送至镜像中心504。
在一些可选的实施方式中,在上述系统500中,构建中心503,还用于在统一调用地址清单中不存在与Docker数据容器的业务应用的名称对应的表单时,创建标准Dockerfile文件,在标准Dockerfile文件所在的目录利用Docker build构建镜像,并推送至镜像中心。
在一些可选的实施方式中,在上述系统500中,镜像中心504包括Harbor镜像仓库。
需要说明的是,上述微服务的容器镜像构建系统500可一一实现前述的微服务的容器镜像构建方法,对此不再赘述。
图6示出了本申请一个实施例的计算机设备的结构示意图,根据图6所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、数据库、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性和/或易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的客户端通过网络连接通信。该计算机程序被处理器执行时以实现微服务的容器镜像构建方法的功能或步骤。
在一个实施例中,本申请提供的计算机设备,包括存储器和处理器,存储器存储有数据库和可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
提供配置管理页面,响应于在配置管理页面的录入信息,获取业务应用对应的参数信息和/或对应的依赖包;
基于业务应用的名称将参数信息存储于数据库,和/或将依赖包存储于服务器,生成参数信息和/或依赖包的统一调用地址清单;
创建Docker数据容器并确定Docker数据容器的业务应用的名称,根据Docker数据容器的业务应用的名称,基于统一调用地址清单从数据库中调取参数信息和/或从服务器中调取依赖包;
根据参数信息和/或依赖包生成Dockerfile文件,基于Dockerfile文件构建Docker镜像并推送至镜像仓库。
上述如本申请图4所示实施例揭示的微服务的容器镜像构建装置执行的方法可以应用于处理器中,或者由处理器实现。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该计算机设备还可执行图5中微服务的容器镜像构建系统执行的方法,并实现微服务的容器镜像构建系统在图5所示实施例的功能,本申请实施例在此不再赘述。
在一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
提供配置管理页面,响应于在配置管理页面的录入信息,获取业务应用对应的参数信息和/或对应的依赖包;
基于业务应用的名称将参数信息存储于数据库,和/或将依赖包存储于服务器,生成参数信息和/或依赖包的统一调用地址清单;
创建Docker数据容器并确定Docker数据容器的业务应用的名称,根据Docker数据容器的业务应用的名称,基于统一调用地址清单从数据库中调取参数信息和/或从服务器中调取依赖包;
根据参数信息和/或依赖包生成Dockerfile文件,基于Dockerfile文件构建Docker镜像并推送至镜像仓库。
需要说明的是,上述关于计算机设备或计算机可读存储介质所能实现的功能或步骤,可对应参阅前述方法实施例中的相关描述,为避免重复,这里不再一一描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种微服务的容器镜像构建方法,其特征在于,所述方法包括:
提供配置管理页面,响应于在所述配置管理页面的录入信息,获取业务应用对应的参数信息和/或对应的依赖包;
基于业务应用的名称将所述参数信息存储于数据库,和/或将所述依赖包存储于服务器,生成所述参数信息和/或所述依赖包的统一调用地址清单;
创建Docker数据容器并确定所述Docker数据容器的业务应用的名称,根据所述Docker数据容器的业务应用的名称,基于所述统一调用地址清单从所述数据库中调取所述参数信息和/或从所述服务器中调取所述依赖包;
根据所述参数信息和/或所述依赖包生成Dockerfile文件,基于所述Dockerfile文件构建Docker镜像并推送至镜像仓库。
2.根据权利要求1所述的微服务的容器镜像构建方法,其特征在于,所述提供配置管理页面,响应于在所述配置管理页面的录入信息,获取业务应用对应的参数信息和/或对应的依赖包,包括:
提供Pampas前端页面,其中,所述Pampas前端页面至少包括业务应用配置选项、初始化命令配置选项及软件安装包配置选项;
当接收到用户在所述Pampas前端页面输入的录入信息后,通过所述业务应用配置选项的输入结果获取业务应用的名称,通过所述初始化命令配置选项不为空的输入结果获取参数信息,通过所述软件安装包配置选项不为空的上传结果获取依赖包;
确定所述业务应用的名称与所述参数信息和/或所述依赖包的对应关系。
3.根据权利要求1所述的微服务的容器镜像构建方法,其特征在于,所述基于业务应用的名称将所述参数信息存储于数据库,和/或将所述依赖包存储于服务器,生成所述参数信息和/或所述依赖包的统一调用地址清单,包括:
基于业务应用的名称将所述参数信息存储于Pampas数据库,确定所述参数信息的调用地址接口;
和/或,基于业务应用的名称将所述依赖包存储于yum服务器,确定所述依赖包的调用地址接口;
根据所述参数信息的调用地址接口和/或所述依赖包的调用地址接口,生成所述参数信息及所述依赖包的统一调用地址清单。
4.根据权利要求1所述的微服务的容器镜像构建方法,其特征在于,所述创建Docker数据容器并确定所述Docker数据容器的业务应用的名称,根据所述Docker数据容器的业务应用的名称,基于所述统一调用地址清单从所述数据库中调取所述参数信息和/或从所述服务器中调取所述依赖包,包括:
创建Docker数据容器并确定所述Docker数据容器的业务应用的名称;
判断所述统一调用地址清单中是否存在与所述Docker数据容器的业务应用的名称对应的表单;
若存在,则基于所述统一调用地址清单从所述数据库中调取所述参数信息和/或从所述服务器中调取所述依赖包。
5.根据权利要求4所述的微服务的容器镜像构建方法,其特征在于,所述判断所述统一调用地址清单中是否存在与所述Docker数据容器的业务应用的名称对应的表单的步骤之后,所述方法还包括:
若不存在,则创建标准Dockerfile文件,在所述标准Dockerfile文件所在的目录利用Docker build构建镜像,并推送至Harbor镜像仓库。
6.根据权利要求1所述的微服务的容器镜像构建方法,其特征在于,所述根据所述参数信息和/或所述依赖包生成Dockerfile文件,基于所述Dockerfile文件构建Docker镜像并推送至镜像仓库,包括:
创建标准Dockerfile文件;
将调取的所述参数信息和/或所述依赖包添加到所述标准Dockerfile文件,形成更新Dockerfile文件;
在所述更新Dockerfile文件所在的目录利用Docker build构建镜像,并推送至Harbor镜像仓库。
7.一种微服务的容器镜像构建装置,其特征在于,所述装置包括:
资源获取单元,用于提供配置管理页面,响应于在所述配置管理页面的录入信息,获取业务应用对应的参数信息和/或对应的依赖包;
地址生成单元,用于基于业务应用的名称将所述参数信息存储于数据库,和/或将所述依赖包存储于服务器,生成所述参数信息和/或所述依赖包的统一调用地址清单;
数据容器创建单元,用于创建Docker数据容器并确定所述Docker数据容器的业务应用的名称,根据所述Docker数据容器的业务应用的名称,基于所述统一调用地址清单从所述数据库中调取所述参数信息和/或从所述服务器中调取所述依赖包;
镜像构建单元,用于根据所述参数信息和/或所述依赖包生成Dockerfile文件,基于所述Dockerfile文件构建Docker镜像并推送至镜像仓库。
8.一种微服务的容器镜像构建系统,其特征在于,所述系统包括:
配置中心,所述配置中心包括配置管理页面及数据库;所述配置管理页面用于提供给用户,以响应于对所述配置管理页面的录入指令,获取业务应用对应的参数信息和/或对应的依赖包;所述数据库用于基于所述业务应用的名称存储所述参数信息,并将所述参数信息的调用地址接口发送于构建中心;
服务器,用于基于所述业务应用的名称存储所述依赖包,并将所述依赖包的调用地址接口发送于构建中心;
构建中心,用于根据所述参数信息的调用地址接口和所述依赖包的调用地址接口生成所述参数信息和/或所述依赖包的统一调用地址;创建Docker数据容器并确定所述Docker数据容器的业务应用的名称,根据所述业务应用的名称,基于所述统一调用地址从所述配置中心中调取所述参数信息和/或从所述服务器中调取所述依赖包;根据所述参数信息和/或所述依赖包生成Dockerfile文件,基于所述Dockerfile文件构建Docker镜像并推送至镜像中心;
镜像中心,所述镜像中心包括镜像仓库,用于接收并部署所述Docker镜像。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的微服务的容器镜像构建方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器指令时实现如权利要求1至6任一项所述的微服务的容器镜像构建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310528480.8A CN116467049A (zh) | 2023-05-10 | 2023-05-10 | 微服务的容器镜像构建方法、装置、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310528480.8A CN116467049A (zh) | 2023-05-10 | 2023-05-10 | 微服务的容器镜像构建方法、装置、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116467049A true CN116467049A (zh) | 2023-07-21 |
Family
ID=87182577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310528480.8A Pending CN116467049A (zh) | 2023-05-10 | 2023-05-10 | 微服务的容器镜像构建方法、装置、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116467049A (zh) |
-
2023
- 2023-05-10 CN CN202310528480.8A patent/CN116467049A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11625281B2 (en) | Serverless platform request routing | |
CN109547570B (zh) | 服务注册方法、装置、注册中心管理设备及存储介质 | |
CN111782339B (zh) | 一种容器创建方法、装置、电子设备及存储介质 | |
WO2021164367A1 (zh) | 一种容器镜像的提供方法、加载方法及相关设备和系统 | |
EP2972818B1 (en) | Application registration and interaction | |
CN111858727A (zh) | 一种基于模板配置的多数据源数据导出系统及方法 | |
JP7048663B2 (ja) | コード実行方法、装置、レンダリングデバイス、記憶媒体、及びプログラム | |
CN111897623A (zh) | 一种集群管理方法、装置、设备及存储介质 | |
CN112231379A (zh) | 基于微服务架构的api审计方法、装置、设备及存储介质 | |
CN115357369A (zh) | 一种k8s容器云平台中CRD应用集成调用方法与装置 | |
CN114168179A (zh) | 微服务管理方法、装置、计算机设备和存储介质 | |
CN110083366B (zh) | 应用运行环境的生成方法、装置、计算设备及存储介质 | |
CN117112122A (zh) | 一种集群部署方法和装置 | |
CN113626225B (zh) | 程序调用方法、终端设备及介质 | |
US11900089B2 (en) | Automatically configuring and deploying a software operator in a distributed computing environment from a package | |
CN111079048A (zh) | 一种页面加载方法及装置 | |
CN114237651A (zh) | 云原生应用的安装方法、装置、电子设备和介质 | |
CN110597513B (zh) | Web界面生成方法及相关装置 | |
CN112235132A (zh) | 动态配置服务的方法、装置、介质以及服务器 | |
CN116719533A (zh) | 环境自动部署方法、部署装置、电子设备及存储介质 | |
CN111338655A (zh) | 一种安装包分发方法和系统 | |
CN116303309A (zh) | 文件挂载方法、装置和电子设备 | |
CN116467049A (zh) | 微服务的容器镜像构建方法、装置、系统、设备及介质 | |
CN115080109A (zh) | 基于混合开发的多云端环境联调方法、装置、系统和设备 | |
CN115202673A (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 |