掌桥专利:专业的专利平台
掌桥专利
首页

一种基于容器的应用系统部署方法及相关装置

文献发布时间:2023-06-19 09:35:27


一种基于容器的应用系统部署方法及相关装置

技术领域

本发明涉及计算机技术领域,特别是涉及一种基于容器的应用系统部署方法、一种基于容器的应用系统部署装置、一种基于容器的应用系统部署设备以及一种计算机可读存储介质。

背景技术

随着科技的不断进步,计算机技术的不断发展,Docker容器作为一种开源的应用容器引擎得到广泛的应用。目前Docker(容器技术)飞速发展,容器技术越来越多地使用于应用系统的部署和运维中。Docker既拥有不错的资源隔离能力,又有很低的虚拟化开销,因此本发明中的容器技术使用Docker,当然容器技术不限于Docker。面对一整套系统中众多的容器,如何一键部署和管理这些容器成为亟待解决的问题。

发明内容

本发明的目的是提供一种基于容器的应用系统部署方法,可以实现应用系统的一键部署;本发明还提供了一种基于容器的应用系统部署装置、一种基于容器的应用系统部署设备以及一种计算机可读存储介质,可以实现应用系统的一键部署。

为解决上述技术问题,本发明提供一种基于容器的应用系统部署方法,包括:

通过部署脚本将配置文件中的待配置参数,更新为预设配置文件中的记录的待更新参数;所述待配置参数为随环境改变的配置参数,所述配置文件中还包括不随环境改变的默认配置参数,所述预设配置文件中仅记录有对应所述待配置参数的待更新参数;

通过所述部署脚本基于更新后的所述配置文件加载容器镜像本地文件;

通过所述部署脚本根据所述容器镜像本地文件的需求设置启动参数;

通过所述部署脚本根据所述启动参数启动所述容器镜像本地文件。

可选的,在通过所述部署脚本根据所述启动参数启动所述容器镜像本地文件之后,还包括:

通过所述部署脚本将运行所述容器镜像本地文件时产生的附属文件存储至运行时文件夹中。

可选的,还包括:

通过所述部署脚本卸载所述容器镜像本地文件,同时保留所述运行时文件夹中所记载的附属文件。

可选的,所述部署脚本为直接加入至所述容器镜像本地文件的脚本。

可选的,还包括:

通过所述部署脚本将日志信息记录在日志文件中。

本发明还提供了一种基于容器的应用系统部署装置,包括:

更新模块:用于通过部署脚本将配置文件中的待配置参数,更新为预设配置文件中的记录的待更新参数;所述待配置参数为随环境改变的配置参数,所述配置文件中还包括不随环境改变的默认配置参数,所述预设配置文件中仅记录有对应所述待配置参数的待更新参数;

加载模块:用于通过所述部署脚本基于更新后的所述配置文件加载容器镜像本地文件;

启动参数模块:用于通过所述部署脚本根据所述容器镜像本地文件的需求设置启动参数;

启动模块:用于通过所述部署脚本根据所述启动参数启动所述容器镜像本地文件。

可选的,还包括:

附属文件模块:用于通过所述部署脚本将运行所述容器镜像本地文件时产生的附属文件存储至运行时文件夹中。

可选的,还包括:

通过所述部署脚本卸载所述容器镜像本地文件,同时保留所述运行时文件夹中所记载的附属文件。

本发明还提供了一种基于容器的应用系统部署设备,所述设备包括:

存储器:用于存储计算机程序;

处理器:用于执行所述计算机程序时实现如上述任一项所述基于容器的应用系统部署方法的步骤。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述基于容器的应用系统部署方法的步骤。

本发明所提供的一种基于容器的应用系统部署方法,包括通过部署脚本将配置文件中的待配置参数,更新为预设配置文件中的记录的待更新参数;待配置参数为随环境改变的配置参数,配置文件中还包括不随环境改变的默认配置参数,预设配置文件中仅记录有对应待配置参数的待更新参数;通过部署脚本基于更新后的配置文件加载容器镜像本地文件;通过部署脚本根据容器镜像本地文件的需求设置启动参数;通过部署脚本根据启动参数启动容器镜像本地文件。

通过将配置文件中的配置参数划分为随环境改变的待配置参数以及不随环境改变的默认配置参数,通过部署脚本自动的更新待配置参数、设置启动参数,可以实现容器镜像本地文件的一键安装,简化应用系统部署流程。

本发明还提供了一种基于容器的应用系统部署装置、一种基于容器的应用系统部署设备以及一种计算机可读存储介质,同样具有上述有益效果,在此不再进行赘述。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例所提供的一种基于容器的应用系统部署方法的流程图;

图2为本发明实施例所提供的一种具体的基于容器的应用系统部署方法的流程图;

图3为本发明实施例所提供的一种基于容器的应用系统部署装置的结构框图;

图4为本发明实施例所提供的一种基于容器的应用系统部署设备的结构框图。

具体实施方式

本发明的核心是提供一种基于容器的应用系统部署方法。在现有技术中,基于容器的应用系统部署过程通常比较繁琐。

而本发明所提供的一种基于容器的应用系统部署方法,包括通过部署脚本将配置文件中的待配置参数,更新为预设配置文件中的记录的待更新参数;待配置参数为随环境改变的配置参数,配置文件中还包括不随环境改变的默认配置参数,预设配置文件中仅记录有对应待配置参数的待更新参数;通过部署脚本基于更新后的配置文件加载容器镜像本地文件;通过部署脚本根据容器镜像本地文件的需求设置启动参数;通过部署脚本根据启动参数启动容器镜像本地文件。

通过将配置文件中的配置参数划分为随环境改变的待配置参数以及不随环境改变的默认配置参数,通过部署脚本自动的更新待配置参数、设置启动参数,可以实现容器镜像本地文件的一键安装,简化应用系统部署流程。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例所提供的一种基于容器的应用系统部署方法的流程图。

参见图1,在本发明实施例中,基于容器的应用系统部署方法包括:

S101:通过部署脚本将配置文件中的待配置参数,更新为预设配置文件中的记录的待更新参数。

在本发明实施例中,所述待配置参数为随环境改变的配置参数,所述配置文件中还包括不随环境改变的默认配置参数,所述预设配置文件中仅记录有对应所述待配置参数的待更新参数。

在现阶段,每个容器镜像对应于一个应用,每个应用对应一个软件项目,即为一个服务,可制作为一个容器镜像,比如Docker容器镜像。Docker容器镜像制作一般可分为两种方式:一种基于Dockerfile的方式,一种基于运行的容器。可使用命令docker save将镜像保存为本地镜像文件,即容器镜像本地文件,其后缀一般为.tar,优势为可将镜像文件分发到各个现场环境。每个软件项目可分别有自己的配置文件,可将配置文件通过容器挂载的方式抽取出来,并提取出变量。即容器镜像本地文件通常对应一配置文件,而在本发明实施例中配置文件包括随环境改变的待配置参数,以及不随环境改变的默认配置参数。

在本发明实施例中,通常预先设置有预设配置文件,该预设配置文件中记录有待更新参数,该待更新参数对应不同环境下上述待配置参数所对应的具体内容。通常情况下,在本发明实施例中通常仅设置一个预设配置文件,该预设配置文件记录有多个容器镜像本地文件的不同待配置参数在不同环境下对应的待更新参数。

在本步骤之前,通常会先将容器镜像本地文件进行挂载,:获取该容器镜像本地文件对应的配置文件。而在本步骤中,会通过部署脚本配置文件中的待配置参数更新为待更新参数,以完成配置文件的更新。具体的,上述部署脚本通常为直接加入至所述容器镜像本地文件的脚本,以便在挂载容器镜像本地文件时直接获取该部署脚本。

S102:通过部署脚本基于更新后的配置文件加载容器镜像本地文件。

在本步骤中,会基于更新后的配置文件加载容器镜像本地文件。有关具体的加载过程可以参考现有技术,在此不再进行赘述。

S103:通过部署脚本根据容器镜像本地文件的需求设置启动参数。

在本步骤中,会通过部署脚本依据每个服务不同的需求指定启动参数,以便启动容器镜像本地文件。该启动参数的设置需要根据容器镜像本地文件的需求设置,例如有的需要指定dns,有的需要挂载卷,有的需要映射端口,有的需要指定环境变量等等,上述内容均属于启动参数,而在本步骤中需要在启动容器镜像本地文件之前完成该启动参数的设置。

S104:通过部署脚本根据启动参数启动容器镜像本地文件。

在本步骤中,会通过部署脚本根据启动参数启动容器镜像本地文件,即dockerrun,以完成应用系统的部署。需要说明的是,在本发明实施例中,当需要安装特定的服务时,仅会通过上述部署脚本对特定的容器镜像本地文件执行上述流程;而需要安装多个服务时,通常会通过上述部署脚本对多个容器镜像本地文件依次执行上述流程,完成多个服务的安装。

本发明实施例所提供的一种基于容器的应用系统部署方法,包括通过部署脚本将配置文件中的待配置参数,更新为预设配置文件中的记录的待更新参数;待配置参数为随环境改变的配置参数,配置文件中还包括不随环境改变的默认配置参数,预设配置文件中仅记录有对应待配置参数的待更新参数;通过部署脚本基于更新后的配置文件加载容器镜像本地文件;通过部署脚本根据容器镜像本地文件的需求设置启动参数;通过部署脚本根据启动参数启动容器镜像本地文件。

通过将配置文件中的配置参数划分为随环境改变的待配置参数以及不随环境改变的默认配置参数,通过部署脚本自动的更新待配置参数、设置启动参数,可以实现容器镜像本地文件的一键安装,简化应用系统部署流程。

有关本发明所提供的一种基于容器的应用系统部署方法的具体内容将在下述发明实施例中做详细介绍。

请参考图2,图2为本发明实施例所提供的一种具体的基于容器的应用系统部署方法的流程图。

参见图2,在本发明实施例中,基于容器的应用系统部署方法包括:

S201:通过部署脚本将配置文件中的待配置参数,更新为预设配置文件中的记录的待更新参数。

在本发明实施例中,如两个软件项目:example-service为后端项目,example-front为前端项目。其中,example-service的配置文件为application.yml,example-front的配置文件为application.json。

application.yml样例如下:

该配置文件中,不随环境改变的配置如tool.dir,则为默认配置参数,需要保留默认值;随环境改变的待配置参数,如tool.pwd和check.enable则需要提取出变量形式,格式形如:{{.Values.组名称.变量名称}},该待配置参数的值统一配置在预设配置文件values.yaml中。

application.json样例如下:

该配置文件中,不随环境改变的默认配置参数如title,则保留默认值,随环境改变的待配置参数,如coreComponent和checkEnable则需要提取出变量形式,格式形如:{{.Values.组名称.变量名称}},变量的值统一配置在预设配置文件values.yaml中。

预设配置文件values.yaml样例如下:

由上所述,部署人员不需要打开每一个服务的配置文件进行配置,只需要配置values.yaml即可。

S202:通过部署脚本基于更新后的配置文件加载容器镜像本地文件。

S203:通过部署脚本根据容器镜像本地文件的需求设置启动参数。

S204:通过部署脚本根据启动参数启动容器镜像本地文件。

上述S202至S204与上述发明实施例中S102至S104基本一致,详细内容请参考上述发明实施例,在此不再进行赘述。

S205:通过部署脚本将运行容器镜像本地文件时产生的附属文件存储至运行时文件夹中。

有关附件文件的具体内容视具体情况而定,在此不做具体限定。该运行时文件夹具体存储有各个服务运行时的记录,可以便于工作人员对各个服务的服务数据进行查询。

S206:通过部署脚本卸载容器镜像本地文件,同时保留运行时文件夹中所记载的附属文件。

在本步骤中,具体可以通过部署脚本卸载容器镜像本地文件,已完成服务的卸载。具体的,在本步骤中,在卸载时不会删除运行时文件夹中所记载的附属文件,此时,在之后重新安装或进行服务升级时,自行保留有上述服务的服务数据,便于该服务的重新安装或服务升级。

需要说明的是,在需要卸载特定的服务时,仅会通过上述部署脚本对特定的容器镜像本地文件进行卸载;而需要卸载多个服务时,通常会通过上述部署脚本对多个容器镜像本地文件依次卸载。

在本发明实施例中,还可以通过部署脚本启动服务、停止服务、以及查看服务状态。有关启动服务、停止服务、查看服务状态的具体过程可以参考现有技术,在此不再进行赘述。当需要对特定的服务进行上述操作时,仅会通过上述部署脚本对特定的容器镜像本地文件进行对应的操作;而需要对多个服务执行操作时,通常会通过上述部署脚本对多个容器镜像本地文件依次执行对应的操作。

S207:通过部署脚本将日志信息记录在日志文件中。

该日志信息通常表征部署脚本每次执行的操作,相应的该部署脚本会将日志信息记录在日志文件中,以便操作人员根据日志文件中记录的日志信息了解部署脚本所执行的动作。

本发明实施例所提供的一种基于容器的应用系统部署方法,通过将配置文件中的配置参数划分为随环境改变的待配置参数以及不随环境改变的默认配置参数,通过部署脚本自动的更新待配置参数、设置启动参数,可以实现容器镜像本地文件的一键安装,简化应用系统部署流程。

下面对本发明实施例所提供的一种基于容器的应用系统部署装置进行介绍,下文描述的基于容器的应用系统部署装置与上文描述的基于容器的应用系统部署方法可相互对应参照。

请参考图3,图3为本发明实施例所提供的一种基于容器的应用系统部署装置的结构框图。

参见图3,在本发明实施例中,基于容器的应用系统部署装置可以包括:

更新模块100:用于通过部署脚本将配置文件中的待配置参数,更新为预设配置文件中的记录的待更新参数;所述待配置参数为随环境改变的配置参数,所述配置文件中还包括不随环境改变的默认配置参数,所述预设配置文件中仅记录有对应所述待配置参数的待更新参数。

加载模块200:用于通过所述部署脚本基于更新后的所述配置文件加载容器镜像本地文件。

启动参数模块300:用于通过所述部署脚本根据所述容器镜像本地文件的需求设置启动参数。

启动模块400:用于通过所述部署脚本根据所述启动参数启动所述容器镜像本地文件。

作为优选的,在本发明实施例中,还包括:

附属文件模块:用于通过所述部署脚本将运行所述容器镜像本地文件时产生的附属文件存储至运行时文件夹中。

作为优选的,在本发明实施例中,还包括:

通过所述部署脚本卸载所述容器镜像本地文件,同时保留所述运行时文件夹中所记载的附属文件。

作为优选的,在本发明实施例中,所述部署脚本为直接加入至所述容器镜像本地文件的脚本。

作为优选的,在本发明实施例中,还包括:

日志模块:用于通过所述部署脚本将日志信息记录在日志文件中。

本实施例的基于容器的应用系统部署装置用于实现前述的基于容器的应用系统部署方法,因此基于容器的应用系统部署装置中的具体实施方式可见前文中基于容器的应用系统部署方法的实施例部分,例如,更新模块100,加载模块200,启动参数模块300,启动模块400分别用于实现上述基于容器的应用系统部署方法中步骤S101,S102,S103以及S104,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

下面对本发明实施例提供的一种基于容器的应用系统部署设备进行介绍,下文描述的基于容器的应用系统部署设备与上文描述的基于容器的应用系统部署方法以及基于容器的应用系统部署装置可相互对应参照。

请参考图4,图4为本发明实施例所提供的一种基于容器的应用系统部署设备的结构框图。

参照图4,该基于容器的应用系统部署设备可以包括处理器11和存储器12。

所述存储器12用于存储计算机程序;所述处理器11用于执行所述计算机程序时实现上述发明实施例中所述的基于容器的应用系统部署方法。

本实施例的基于容器的应用系统部署设备中处理器11用于安装上述发明实施例中所述的基于容器的应用系统部署装置,同时处理器11与存储器12相结合可以实现上述任一发明实施例中所述的基于容器的应用系统部署方法。因此基于容器的应用系统部署设备中的具体实施方式可见前文中的基于容器的应用系统部署方法的实施例部分,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一发明实施例中所介绍的一种基于容器的应用系统部署方法。其余内容可以参照现有技术,在此不再进行展开描述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种基于容器的应用系统部署方法、一种基于容器的应用系统部署装置、一种基于容器的应用系统部署设备以及一种计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

相关技术
  • 一种基于容器的应用系统部署方法及相关装置
  • 一种基于容器化应用的持续集成交付方法及相关设备
技术分类

06120112226745