CN116302354A - 一种软件微服务容器化构建方法、装置、设备及介质 - Google Patents

一种软件微服务容器化构建方法、装置、设备及介质 Download PDF

Info

Publication number
CN116302354A
CN116302354A CN202310279147.8A CN202310279147A CN116302354A CN 116302354 A CN116302354 A CN 116302354A CN 202310279147 A CN202310279147 A CN 202310279147A CN 116302354 A CN116302354 A CN 116302354A
Authority
CN
China
Prior art keywords
container
micro
software
dock
service
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
Application number
CN202310279147.8A
Other languages
English (en)
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 General Software Co Ltd
Original Assignee
Inspur General Software 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 General Software Co Ltd filed Critical Inspur General Software Co Ltd
Priority to CN202310279147.8A priority Critical patent/CN116302354A/zh
Publication of CN116302354A publication Critical patent/CN116302354A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本说明书实施例公开了一种软件微服务容器化构建方法、装置、设备及介质,包括:将软件业务按照业务流程拆分为多个微服务;通过docker封装所述多个微服务,生成各微服务对应的镜像;将所述各微服务对应的镜像上传至预先创建的docker仓库;在所述docker仓库中,根据预设编排工具获取构建指定软件所需的镜像;根据所述所需的镜像构建所述指定软件。本说明书实施例是结合了微服务和容器化优势特性,微服务将软件模块化拆解组合满足不同客户的需求,docker容器隔离微服务模块,容器编排方便软件部署、升级、启停等操作,减少公共依赖冗余。

Description

一种软件微服务容器化构建方法、装置、设备及介质
技术领域
本说明书涉及计算机技术领域,尤其涉及一种软件微服务容器化构建方法、装置、设备及介质。
背景技术
装备制造是指处于价值链高端和产业链核心环节,并决定着整个产业链综合竞争力的关键设备的制造。装备制造具有技术密集、资金密集、附加值高、成长空间大、带动作用强等突出特点。
现有技术中,装备制造软件需要同时面向多家客户,每家客户实际应用的业务场景不同,对同一个功能的需求不同,需要大量的定制开发功能,带来很大的不便利。
发明内容
本说明书一个或多个实施例提供了一种软件微服务容器化构建方法、装置、设备及介质,用于解决背景技术提出的技术问题。
本说明书一个或多个实施例采用下述技术方案:
本说明书一个或多个实施例提供的一种软件微服务容器化构建方法,包括:
将软件业务按照业务流程拆分为多个微服务;
通过docker封装所述多个微服务,生成各微服务对应的镜像;
将所述各微服务对应的镜像上传至预先创建的docker仓库;
在所述docker仓库中,根据预设编排工具获取构建指定软件所需的镜像;
根据所述所需的镜像构建所述指定软件。
本说明书一个或多个实施例提供的一种软件微服务容器化构建装置,所述装置包括:
拆分单元,将软件业务按照业务流程拆分为多个微服务;
镜像生成单元,通过docker封装所述多个微服务,生成各微服务对应的镜像;
上传单元,将所述各微服务对应的镜像上传至预先创建的docker仓库;
镜像获取单元,在所述docker仓库中,根据预设编排工具获取构建指定软件所需的镜像;
软件构建单元,根据所述所需的镜像构建所述指定软件。
本说明书一个或多个实施例提供的一种软件微服务容器化构建设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
将软件业务按照业务流程拆分为多个微服务;
通过docker封装所述多个微服务,生成各微服务对应的镜像;
将所述各微服务对应的镜像上传至预先创建的docker仓库;
在所述docker仓库中,根据预设编排工具获取构建指定软件所需的镜像;
根据所述所需的镜像构建所述指定软件。
本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
将软件业务按照业务流程拆分为多个微服务;
通过docker封装所述多个微服务,生成各微服务对应的镜像;
将所述各微服务对应的镜像上传至预先创建的docker仓库;
在所述docker仓库中,根据预设编排工具获取构建指定软件所需的镜像;
根据所述所需的镜像构建所述指定软件。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
本说明书实施例是结合了微服务和容器化优势特性,微服务将软件模块化拆解组合满足不同客户的需求,docker容器隔离微服务模块,容器编排方便软件部署、升级、启停等操作,减少公共依赖冗余。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本说明书一个或多个实施例提供的一种软件微服务容器化构建方法的流程示意图;
图2为本说明书一个或多个实施例提供的一种软件微服务容器化构建装置的结构示意图;
图3为本说明书一个或多个实施例提供的一种软件微服务容器化构建设备的结构示意图。
具体实施方式
本说明书实施例提供一种软件微服务容器化构建方法、装置、设备及介质。
装备制造软件同时面向多家客户,每家客户实际应用的业务场景不同,对同一个功能的需求不同,有大量的定制开发功能。企业客户很多都有保密要求,现场服务器只连接企业内部网络,无法连接到互联网,对部署和升级方案也有限制。
装备制造各家企业之间由于产出物、工艺流程、评价体系、企业管理等多方面的差异,在标准化的解决方案基础上需要大量定制化开发以匹配各家实际应用场景,而且这类企业保密意识强,基本都是私有部署断网环境。要满足定制化需求快速开发,减少各种定制版本之间的影响,减少冗余,方便部署升级,还要适用于私有化断网环境,这样一整套的方案市面上较少。传统的一体式软件构建方式整体性强,修改一个模块需要全部打包,部署升级效率低,同一模块的多种定制版本也都冗余在一个软件包中,增加体积而且不易开发和管理,客户量稍大往往难以应对,开发维护成本高。
本说明书实施例可以应用微服务和容器化技术,将业务处理代码细致拆分,达到模块化的效果,方便开发和部署,满足装备制造企业的个性化需求,应用容器编排技术,消除断网环境对于容器方案的限制,断网可用。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
图1为本说明书一个或多个实施例提供的一种软件微服务容器化构建方法的流程示意图,该流程可以由软件微服务容器化构建系统执行。流程中的某些输入参数或者中间结果允许人工干预调节,以帮助提高准确性。
本说明书实施例的方法流程步骤如下:
S102,将软件业务按照业务流程拆分为多个微服务。
在本说明书实施例中,将软件业务按照业务流程拆分为多个微服务,可以达到模块化的效果,根据不同情况进行组合,方便软件开发和部署,满足装备制造企业的个性化需求。
S104,通过docker封装所述多个微服务,生成各微服务对应的镜像。
在本说明书实施例中,通过docker封装所述多个微服务,生成各微服务对应的镜像前,可以在所述多个微服务中分别加入环境变量和启动命令,以方便微服务批量管理。
S106,将所述各微服务对应的镜像上传至预先创建的docker仓库。
S108,在所述docker仓库中,根据预设编排工具获取构建指定软件所需的镜像。
在本说明书实施例中,根据预设编排工具获取构建指定软件所需的镜像的过程中,可以在联网时登录所述docker仓库时,依照预先编写的容器编排文件启动docker-compose可以自动拉取所述所需的镜像。
在本说明书实施例中,依照预先编写的容器编排文件启动docker-compose可以自动拉取所述所需的镜像前,可以编写所述容器编排文件,组合所需的功能模块,挂卷共享jre运行环境,挂卷提出每个微服务的jar包文件,放置于宿主机真实路径中。
在本说明书实施例中,还可以在断网环境构建指定软件所需的镜像,可以通过指定docker命令导入所述所需的镜像,依照所述容器编排文件启动docker-compose,将对应jar包文件替换为所述所需的镜像。
在本说明书实施例中,依照预先编写的容器编排文件启动docker-compose可以自动拉取所述所需的镜像的过程中,可以通过下述具体步骤:
在所述容器编排文件中声明所需启动的容器,启动顺序控制、挂卷配置、端口映射与环境变量;依据容器的数据卷特性,容器内路径和宿主机路径映射后,若宿主机路径下无文件,则容器运行后自动从容器内复制一份到宿主机路径下;若宿主机路径下已存在文件,运行时会覆盖容器内的文件;并在容器运行时,修改宿主机路径下的文件,容器内文件也会改变;将容器内运行环境文件映射到宿主机路径下,启动后宿主机将存有一份jre文件,其余微服务镜像在构建时或在容器编排文件中用环境变量声明jre的路径,将宿主机存有jre的物理路径映射到每个微服务容器内的jre路径,启动后容器内就会有运行环境必需的文件;Jre文件皆来自于同一个jre镜像,每个微服务中不再包含jre,保证运行环境统一,减小总体体积;多个微服务将依赖同一个jar包,基于数据卷将微服务镜像内部的jar包挂载到宿主机路径下,替换宿主机jar包可同步替换容器内jar包,重启容器将生效。
需要说明的是,挂卷即为数据卷的挂载,其中,数据卷的挂载,可以是将host文件夹挂载在container的指定目录下,若挂载位置有文件,则原文件隐藏,unmount后原文件恢复。
S110,根据所述所需的镜像构建所述指定软件。
需要说明的是,本说明书实施例可以涉及java微服务拆分技术,nacos微服务注册发现技术,docker容器化技术,docker-compose容器编排技术等在装备制造软件中的应用,通过该方法不依赖docker仓库实现私有化部署模式下使用java微服务特性和docker容器特性,同时可兼容公有云模式。
本说明书实施例是结合了微服务和容器化优势特性,微服务将软件模块化拆解组合满足不同客户的需求,docker容器隔离微服务模块,容器编排方便软件部署、升级、启停等操作,减少公共依赖冗余,且消除了断网环境对于容器方案的不利影响,弥补了容器方案不适用于断网环境的问题,同时兼容公有云和私有化。
本说明书实施例可以通过下述方案实施:
1.基于业务微服务拆分方案
基于实际业务区分微服务模块,例如系统基础功能微服务、用户权限用户设置微服务、文档管理微服务等,经业务分析分解确定每个微服务的范围和职责,使用nacos注册发现和配置服务,实现java后端功能微服务化。
2.Docker镜像封装
使用docker封装java微服务,基于最小化alpine镜像打包,方便微服务包管理。打包时可以加入默认的环境变量和启动命令,方便微服务批量管理。
3.Docker-compose容器编排
每个java微服务封装为docker镜像,镜像数量较多,应用docker-compose方便镜像管理和启停。应用容器编排的挂卷特性,将镜像中公共依赖共享,减小整个项目的部署体积。
4.上传镜像仓库
网络通畅环境中自建docker仓库,面向公有云,方便产品迭代。微服务代码更新后打包,封装新镜像,再推送到docker仓库,用户可以直接从仓库拉去最新镜像,获取新版本新功能。
进一步的,本说明书实施例可以通过下述优化方案实施:
本发明实现了一种适用于装备制造高度定制化软件的微服务容器化构建方法,通过本说明书实施例,可以实现软件微服务化、镜像化,软件可以分模块开发、部署、更新,业务拆解后责任划分清晰,同一个模块可以高度定制多个版本,调整容器编排文件,实现不同的模块组合,满足用户定制需求,开发过程中能避免多版本定制代码冗余,减小开发维护成本。应用docker自建仓库,公有云模式下方便发布新版本。灵活应用docker挂卷特性,将各微服务的冗余部分提取挂载,减小体积,同时抽出更新频繁的部分挂卷,断网环境仓库不可用时,能通过文件形式部署更新微服务,不需要改变软件开发打包部署逻辑。
以java为例,主要有以下步骤:
1.获取nacos官方docker镜像,用于微服务配置和注册发现。软件整体docker容器化,这里nacos也使用docker镜像,免去环境配置的麻烦。
2.开发构建gateway网关微服务,用于分发请求到目标微服务,该微服务是必需的。
3.开发构建用户认证微服务,负责用户身份校验等。按实际需求调整,也可以合并到gateway网关微服务中。
4.开发构建基础功能微服务,比如用户注册、登录,权限管理,消息通知等,一般也是必需的。
5.开发构建功能模块微服务,按照业务需求拆分,划定职责范围,形成标准化产品。
6.开发构建定制模块微服务,新建一套代码工程,避免开发时与标准模块重复冲突,互不影响。按照客户需求个性化定制,不适合放入标准化产品。
7.以java为例,程序运行需要jre运行环境,将jre文件与其他必需的文件封装为一个镜像,后续通过容器挂卷为所有的java微服务提供运行环境。Nacos也需要jre。
8.以上构建的所有微服务各打包一个docker镜像,一般情况下只需要alipne基础镜像、打包的jar包、包含jar包启动命令的脚本。打包镜像时在Dockerfile中使用环境变量指明jre路径,也可以后续容器编排文件中设置环境变量。
9.编写容器编排文件,组合需要的功能模块。挂卷共享jre运行环境,挂卷提出每个微服务的jar包文件,放置在宿主机真实路径中,断网时可以直接替换jar包来更新模块。
10.自建docker仓库,可以选harbor。
11.以上所有镜像推送到自建仓库,用户联网登录仓库,依照容器编排文件启动docker-compose可以自动拉取缺少的镜像,更新镜像时主动拉取、重启即可生效。
12.断网环境首次部署将所需的镜像导出为压缩包,具体使用过docker命令,交由用户后导入镜像,依照容器编排文件启动docker-compose,不必依赖仓库。更新功能将对应jar包替换,重启容器。
进一步的,本说明书实施例可以通过下述具体方案实施:
1.基础镜像准备
整个微服务架构由nacos负责容器的配置管理、微服务注册、发现、调度。从官网获取nacos镜像,如需要可做二次封装。Java程序和nacos都依赖jre,将jre环境包封装为一个镜像,为所有java微服务提供运行环境。Gateway网关微服务将请求分发到具体模块的微服务,可以附加用户校验逻辑,打包后和启动脚本封装为一个镜像。常见的用户注册、登录,系统设置,消息通知等一般是标准化功能,这类功能集中到一个微服务,打包后和启动脚本封装为一个镜像。以上镜像在各种模块组合方案中都是必需的。
2.功能模块业务划分
按照标准产品的规划,功能分属各模块,打包后和启动脚本封装为一个镜像。定制化开发概率比较高的模块,可拆分细致一些,减少重复开发,方便模块组合;频繁更新的部分也应拆得更细,方便模块独立更新,减小与其他模块相互影响的概率
3.定制化模块开发
标准模块以外新增的定制需求,与新增标准模块一样,增加一个新镜像。对标准模块高度定制修改的需求,建立一套的新的模块代码,定制化开发,封装为镜像,模块组合部署时替换对应的标准模块,满足定制化需求。
4.自建docker仓库
自建docker仓库,一般选择harbor,参照官方指南部署到公有云服务器,设置用户密码。产品镜像推送到仓库,用户远程拉取
5.Docker-compose容器编排
灵活应用容器编排,保留微服务容器化优势的同时精减项目体积,方便部署更新,兼容私有化断网环境。Docker-compose容器编排文件中声明了需要启动的容器,启动顺序控制,挂卷配置,端口映射,环境变量等。依据容器的数据卷特性,容器内路径和宿主机路径做映射后,如宿主机路径下本无文件,则容器运行后自动从容器内复制一份到宿主机路径下;如果宿主机路径下已存在文件,运行时会覆盖容器内的文件;容器运行时,修改宿主机路径下的文件,容器内文件也会改变,文件夹同理。将jre容器内运行环境文件映射到宿主机路径下,启动后宿主机会存有一份jre文件,其余java微服务镜像在构建时或在容器编排文件中用环境变量声明jre的路径,将宿主机存有jre的物理路径映射到每个微服务容器内的jre路径,启动后容器内就会有运行环境必需的文件。Jre文件都来自于同一个jre镜像,每个微服务中不再包含jre,保证运行环境统一,减小总体体积。多个微服务可能会依赖同一个jar包,体积较大的也可以抽出来单独封装成一个镜像。同样基于数据卷,将微服务镜像内部的jar包挂载到宿主机路径下,替换宿主机jar包可同步替换容器内jar包,重启容器即生效,断网环境下有新jar包就能更新功能,不必依赖docker仓库。
图2为本说明书一个或多个实施例提供的一种软件微服务容器化构建装置的结构示意图,所述装置包括:拆分单元202、镜像生成单元204、上传单元206、镜像获取单元208与软件构建单元210。
拆分单元202,将软件业务按照业务流程拆分为多个微服务;
镜像生成单元204,通过docker封装所述多个微服务,生成各微服务对应的镜像;
上传单元206,将所述各微服务对应的镜像上传至预先创建的docker仓库;
镜像获取单元208,在所述docker仓库中,根据预设编排工具获取构建指定软件所需的镜像;
软件构建单元210,根据所述所需的镜像构建所述指定软件。
进一步的,镜像获取单元208用于:
在联网时登录所述docker仓库时,依照预先编写的容器编排文件启动docker-compose可以自动拉取所述所需的镜像。
图3为本说明书一个或多个实施例提供的一种软件微服务容器化构建设备的结构示意图,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
将软件业务按照业务流程拆分为多个微服务;
通过docker封装所述多个微服务,生成各微服务对应的镜像;
将所述各微服务对应的镜像上传至预先创建的docker仓库;
在所述docker仓库中,根据预设编排工具获取构建指定软件所需的镜像;
根据所述所需的镜像构建所述指定软件。
本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
将软件业务按照业务流程拆分为多个微服务;
通过docker封装所述多个微服务,生成各微服务对应的镜像;
将所述各微服务对应的镜像上传至预先创建的docker仓库;
在所述docker仓库中,根据预设编排工具获取构建指定软件所需的镜像;
根据所述所需的镜像构建所述指定软件。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (10)

1.一种软件微服务容器化构建方法,其特征在于,所述方法包括:
将软件业务按照业务流程拆分为多个微服务;
通过docker封装所述多个微服务,生成各微服务对应的镜像;
将所述各微服务对应的镜像上传至预先创建的docker仓库;
在所述docker仓库中,根据预设编排工具获取构建指定软件所需的镜像;
根据所述所需的镜像构建所述指定软件。
2.根据权利要求1所述的方法,其特征在于,所述通过docker封装所述多个微服务,生成各微服务对应的镜像前,所述方法还包括:
在所述多个微服务中分别加入环境变量和启动命令。
3.根据权利要求1所述的方法,其特征在于,所述根据预设编排工具获取构建指定软件所需的镜像,包括:
在联网时登录所述docker仓库时,依照预先编写的容器编排文件启动docker-compose可自动拉取所述所需的镜像。
4.根据权利要求3所述的方法,其特征在于,所述依照预先编写的容器编排文件启动docker-compose可自动拉取所述所需的镜像前,所述方法还包括:
编写所述容器编排文件,组合所需的功能模块,挂卷共享jre运行环境,挂卷提出每个微服务的jar包文件,放置于宿主机真实路径中。
5.根据权利要求4所述的方法,其特征在于,在断网环境构建指定软件所需的镜像时,所述方法还包括:
通过指定docker命令导入所述所需的镜像,依照所述容器编排文件启动docker-compose,将对应jar包文件替换为所述所需的镜像。
6.根据权利要求4所述的方法,其特征在于,所述依照预先编写的容器编排文件启动docker-compose可自动拉取所述所需的镜像,包括:
在所述容器编排文件中声明所需启动的容器,启动顺序控制、挂卷配置、端口映射与环境变量;
依据容器的数据卷特性,容器内路径和宿主机路径映射后,若宿主机路径下无文件,则容器运行后自动从容器内复制一份到宿主机路径下;
若宿主机路径下已存在文件,运行时会覆盖容器内的文件;
容器运行时,修改宿主机路径下的文件,容器内文件也会改变;
将容器内运行环境文件映射到宿主机路径下,启动后宿主机将存有一份jre文件,其余微服务镜像在构建时或在容器编排文件中用环境变量声明jre的路径,将宿主机存有jre的物理路径映射到每个微服务容器内的jre路径,启动后容器内就会有运行环境必需的文件;
Jre文件皆来自于同一个jre镜像,每个微服务中不再包含jre,保证运行环境统一,减小总体体积;
多个微服务将依赖同一个jar包,基于数据卷将微服务镜像内部的jar包挂载到宿主机路径下,替换宿主机jar包可同步替换容器内jar包,重启容器将生效。
7.一种软件微服务容器化构建装置,其特征在于,所述装置包括:
拆分单元,将软件业务按照业务流程拆分为多个微服务;
镜像生成单元,通过docker封装所述多个微服务,生成各微服务对应的镜像;
上传单元,将所述各微服务对应的镜像上传至预先创建的docker仓库;
镜像获取单元,在所述docker仓库中,根据预设编排工具获取构建指定软件所需的镜像;
软件构建单元,根据所述所需的镜像构建所述指定软件。
8.根据权利要求7所述的装置,其特征在于,所述镜像获取单元用于:
在联网时登录所述docker仓库时,依照预先编写的容器编排文件启动docker-compose可自动拉取所述所需的镜像。
9.一种软件微服务容器化构建设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
将软件业务按照业务流程拆分为多个微服务;
通过docker封装所述多个微服务,生成各微服务对应的镜像;
将所述各微服务对应的镜像上传至预先创建的docker仓库;
在所述docker仓库中,根据预设编排工具获取构建指定软件所需的镜像;
根据所述所需的镜像构建所述指定软件。
10.一种非易失性计算机存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令设置为:
将软件业务按照业务流程拆分为多个微服务;
通过docker封装所述多个微服务,生成各微服务对应的镜像;
将所述各微服务对应的镜像上传至预先创建的docker仓库;
在所述docker仓库中,根据预设编排工具获取构建指定软件所需的镜像;
根据所述所需的镜像构建所述指定软件。
CN202310279147.8A 2023-03-17 2023-03-17 一种软件微服务容器化构建方法、装置、设备及介质 Pending CN116302354A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310279147.8A CN116302354A (zh) 2023-03-17 2023-03-17 一种软件微服务容器化构建方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310279147.8A CN116302354A (zh) 2023-03-17 2023-03-17 一种软件微服务容器化构建方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN116302354A true CN116302354A (zh) 2023-06-23

Family

ID=86818326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310279147.8A Pending CN116302354A (zh) 2023-03-17 2023-03-17 一种软件微服务容器化构建方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116302354A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076005A (zh) * 2023-10-16 2023-11-17 龙芯中科技术股份有限公司 一种应用运行方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076005A (zh) * 2023-10-16 2023-11-17 龙芯中科技术股份有限公司 一种应用运行方法、装置、电子设备及存储介质
CN117076005B (zh) * 2023-10-16 2024-03-01 龙芯中科技术股份有限公司 一种应用运行方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN110768833B (zh) 基于kubernetes的应用编排部署方法及装置
CN106790660B (zh) 一种实现分布式存储系统的部署方法及装置
US11341181B2 (en) Edge-computing-oriented construction method for container mirror image
CN101202761B (zh) 一种分布式资源调度系统及其方法
CN110727653B (zh) 多项目负载均衡方法和装置
CN112346752A (zh) 基于jenkins和K3S的软件环境快速部署方法
CN116302354A (zh) 一种软件微服务容器化构建方法、装置、设备及介质
CN108519874A (zh) Python项目包的生成方法及装置
CN109992278A (zh) 一种基于容器的应用程序发布方法及装置
CN114047938B (zh) 一种构建镜像的方法、装置、设备及可读存储介质
CN113064595A (zh) 一种基于Docker镜像的QT应用程序编译方法和装置
CN115499310A (zh) 一种基于云计算平台容器服务的业务应用上云方法及系统
US11507392B2 (en) Automatically configuring computing clusters
CN114024951A (zh) 一种基于云边协同的电力边缘异构部署方法
CN104598525B (zh) 一种应用复制方法、设备及系统
US20160065499A1 (en) Method for provisioning a customized cloud stack
US11900089B2 (en) Automatically configuring and deploying a software operator in a distributed computing environment from a package
CN107786367B (zh) 一种虚拟网元的配置方法和装置
US20220279035A1 (en) Model file issuing method, platform, system, terminal and readable storage medium
US20200133709A1 (en) System and method for content - application split
CN108170508A (zh) 批量创建虚拟机的方法、装置、设备及其存储介质
CN111459619A (zh) 一种基于云平台实现服务的方法和装置
CN114697313A (zh) 一种基于镜像的文件下载方法
CN114035890A (zh) 一种基于容器技术的ci/cd服务部署方法、装置、设备及介质
CN111158709A (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