CN113282308A - 一种镜像构建方法、装置、存储介质及电子装置 - Google Patents
一种镜像构建方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN113282308A CN113282308A CN202110673664.4A CN202110673664A CN113282308A CN 113282308 A CN113282308 A CN 113282308A CN 202110673664 A CN202110673664 A CN 202110673664A CN 113282308 A CN113282308 A CN 113282308A
- Authority
- CN
- China
- Prior art keywords
- target
- mirror image
- information
- container
- image information
- 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
- 238000010276 construction Methods 0.000 title claims abstract description 57
- 230000008859 change Effects 0.000 claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000000694 effects Effects 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Images
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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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
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)
- Facsimiles In General (AREA)
Abstract
本发明实施例提供了一种镜像构建方法、装置、存储介质及电子装置,其方法包括:获取用于请求构建目标镜像的镜像构建指令,其中,目标镜像用于指示目标容器;根据镜像构建指令执行目标操作,其中,目标操作包括:基于预先接收的容器标识和镜像变更日志确定目标镜像信息,其中,容器标识用于标识目标容器,镜像变更日志用于指示目标镜像的参数;根据目标镜像信息构建目标镜像。通过本发明,解决了相关技术中镜像构建效率低的问题,进而达到了对容器升级过程进行有效审计和回溯的效果。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种镜像构建方法、装置、存储介质及电子装置。
背景技术
随着微服务的广泛使用和云原生技术的发展,容器技术越来越成为制约互联网软件集成和交付的关键技术,其中,微服务是指单个应用程序由多个松散耦合且可独立部署的较小组件或服务组成,而容器技术是指组件或服务运行在完全隔离的沙盒中,每个容器中的包含的仅仅是操作系统的最小内核,这些最小内核共享了底层系统的资源。
而微服务通过将服务容器化,实现了非常直接的效率提升和成本节约,使运维效率和交付效率在一定程度上远超传统的部署。运维人员或者开发人员只需要构建(dockerbuild)容器的镜像、上传镜像(docker push)、拉取镜像(docker pull)、创建并运行容器(docker run),即通过对容器对应的镜像进行对应处理,或通过以上指令接口的封装即可实现服务的交付。
但是,由于容器升级过程需要执行的镜像操作比较复杂和繁琐,人工操作的失误容易造成业务的崩溃和不可修复,因此实现容器的自动化升级,且对升级内容进行审计和回溯是服务容器化的重要发展方向。
而目前针对上述问题并没有提出有效的解决方案。
发明内容
本发明实施例提供了一种镜像构建方法、装置、存储介质及电子装置,以至少解决相关技术中镜像构建过程不能进行有效审计和回溯的问题。
根据本发明的一个实施例,提供了一种镜像构建方法,包括:
获取用于请求构建目标镜像的镜像构建指令,其中,所述目标镜像用于指示目标容器;
根据所述镜像构建指令执行目标操作,其中,所述目标操作包括:
基于预先接收的容器标识和镜像变更日志确定目标镜像信息,其中,所述容器标识用于标识所述目标容器,所述镜像变更日志用于指示所述目标镜像的参数;根据所述目标镜像信息构建所述目标镜像。
在一个示例性实施例中,在确定目标镜像信息之后,所述方法还包括:
将所述容器标识和所述镜像变更日志存储至目标存储区域。
在一个示例性实施例中,根据所述目标镜像信息构建目标镜像包括:
获取与所述目标容器对应的本地运行的第一容器的第一容器信息,并根据所述第一容器信息确定所述第一容器的第一镜像信息;
将所述第一镜像信息中包含的第一类型的第一信息与所述目标镜像信息中包含的第一类型的第二信息进行比对,以得到比对结果;
在确定所述比对结果为第一比对结果的情况下,基于所述目标镜像信息构建所述目标镜像。
在一个示例性实施例中,所述第一比对结果用于指示所述第一信息和所述第二信息不同,在确定所述比对结果为第一比对结果的情况下,基于所述目标镜像信息构建所述目标镜像包括:
在确定已开启自动更新功能的情况下,将所述第一镜像信息中包含的所述第一信息更新为所述第二信息,以得到第二镜像信息;删除所述第一容器,基于所述第二镜像信息创建所述目标镜像,并根据所述目标镜像启动所述目标容器;
在确定未开启自动更新功能的情况下,判断是否接收到目标终端发送的更新指示;在确定接收到所述更新指示的情况下,将所述第一镜像信息中包含的所述第一信息更新为所述第二信息,以得到第二镜像信息;删除所述第一容器,基于所述第二镜像信息创建所述目标镜像,并根据所述目标镜像启动所述目标容器。
在一个示例性实施例中,在确定未开启自动更新功能的情况下,判断是否接收到目标终端发送的更新指示包括:
在确定未开启自动更新功能的情况下,向目标终端发送请求信息,其中,所述请求信息中携带所述容器标识;
判断是否接收到所述目标终端基于所述请求信息返回的所述更新指示。
根据本发明的另一个实施例,提供了一种镜像构建装置,包括:
指令采集模块,用于获取用于请求构建目标镜像的镜像构建指令,其中,所述目标镜像用于指示目标容器;
镜像构建模块,用于根据所述镜像构建指令执行目标操作,其中,所述目标操作包括:
基于预先接收的容器标识和镜像变更日志确定目标镜像信息,其中,所述容器标识用于标识所述目标容器,所述镜像变更日志用于指示所述目标镜像的参数;根据所述目标镜像信息构建所述目标镜像。
在一个示例性实施例中,所述装置还包括:
信息存储模块,用于在确定目标镜像信息之后,将所述容器标识和所述镜像变更日志存储至目标存储区域。
在一个示例性实施例中,所述镜像构建模块包括:
镜像信息采集单元,用于获取与所述目标容器对应的本地运行的第一容器的第一容器信息,并根据所述第一容器信息确定所述第一容器的第一镜像信息;
信息比对单元,将所述第一镜像信息中包含的第一类型的第一信息与所述目标镜像信息中包含的第一类型的第二信息进行比对,以得到比对结果;
镜像构建单元,在确定所述比对结果为第一比对结果的情况下,基于所述目标镜像信息构建所述目标镜像。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,在完成镜像构建后,只需要根据容器标识对目标镜像进行跟踪即可完成对目标容器的回溯;同时由于根据容器标识和镜像变更日志来构建目标容器,因而当容器发生变更或更新时,只需要对容器标识和镜像变更日志进行识别即可确定目标容器是否发生变更或更新,从而方便对目标容器进行重新构建或其它他处理,因此,可以解决相关技术中不能对目标容器进行有效审计和回溯的问题,达到对目标容器进行有效审计和回溯的效果。
附图说明
图1是本发明实施例的一种镜像构建方法的移动终端的硬件结构框图;
图2是根据本发明实施例的一种镜像构建方法的流程图;
图3是根据本发明实施例的一种镜像构建装置的结构框图;
图4是根据本发明的具体实施例的容器构建流程框图;
图5是根据本发明的具体实施例的容器升级的流程框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种镜像构建方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种镜像构建方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种镜像构建方法,图2是根据本发明实施例的的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取用于请求构建目标镜像的镜像构建指令,其中,目标镜像用于指示目标容器;
在本实施例中,目标容器设置为能够执行微服务的操作系统的最小内核,且不同目标容器的容器构建指令可以相同,也可以不同,而目标镜像即为用于指示目标容器的信息,且目标镜像与目标容器一一对应;在镜像构建指令相同的情况下,镜像构建指令可以是触发执行镜像构建操作的代码指令;在镜像构建指令不同的情况下,镜像构建指令可以是包含不同目标镜像信息的指令包;镜像构建指令的传输可以是通过以太网或无线蓝牙进行传输的,也可以是通过3G/4G/5G/量子通信网络进行传输的,还可以是通过其它方式进行传输的。
步骤S204,根据镜像构建指令执行目标操作,其中,目标操作包括:
基于预先接收的容器标识和镜像变更日志确定目标镜像信息,其中,容器标识用于标识目标容器,镜像变更日志用于指示目标镜像的参数;根据目标镜像信息构建目标镜像。
在本实施例中,根据容器标识和镜像变更日志确定目标镜像信息,使得构建的目标镜像中包含容器标识和镜像变更日志,在目标容器运行过程中,通过判断目标镜像信息包含的镜像变更日志和容器标识是否发生变化,即可确定目标容器是否发生变化或升级,从而方便对容器升级内容进行审计和回溯,降低了目标容器的升级难度和排检难度,提高了目标容器的升级效率。
其中,容器标识可以(但不限于)是镜像的CHANGELOG指令,也可以是其它指令或标识,镜像变更日志可以(但不限于)是记录镜像变更信息的日志,且包括CHANGELOG指令的参数,CHANGELOG指令的参数包括(但不限于)变更描述信息、评审人信息、评审时间信息等,目标镜像信息包括(但不限于)容器id、容器名称、镜像地址、镜像manifest信息、镜像json文件信息等,需要说明的是,镜像json文件信息包括镜像manifest信息,镜像manifest信息包括容器标识和镜像变更日志;容器标识和镜像变更日志的传输可以是通过以太网或无线蓝牙进行传输的,也可以是通过3G/4G/5G/量子通信网络进行传输的,还可以是通过人工添加或其它方式进行传输的;目标容器的构建可以(但不限于)是通过内设于执行微服务的操作系统的单片机、CPU、MCU、PLC、FPGA等设备或模块来实现的,也可以是通过外接的工业计算机等设备来实现的。
需要说明的是,目标镜像的构建过程可以(但不限于)是通过镜像内核dockerdaemon对包含目标镜像信息的镜像文件dockerfile进行解析,以得到容器标识和镜像变更日志等信息,随后根据解析得到的信息构建目标镜像的json信息文件。
通过上述步骤,在目标容器运行过程中,通过判断目标镜像信息中包含的变更日志和容器标识是否发生变化,即可确定目标容器是否发生变化或升级,从而方便对容器升级内容进行审计和回溯,降低了目标容器的升级难度和排检难度,提高了目标容器的升级效率。
其中,上述步骤的执行主体可以为基站、终端等,但不限于此。
在一个可选的实施例中,在确定目标镜像信息之后,该方法还包括:
步骤S206,将容器标识和镜像变更日志存储至目标存储区域。
在本实施例中,将容器标识和镜像变更日志存储至目标存储区域是为了方便在运行过程中能够将容器标识和镜像变更日志从目标存储区域进行拉取调出,从而能够对容器的升级过程进行监控。
其中,目标存储区域可以(但不限于)是用于存储包含容器标识和镜像变更日志的json信息文件的仓库,也可以是其它存储设备或模块。
在一个可选的实施例中,根据目标镜像信息构建目标镜像包括:
步骤S2042,获取与目标镜像对应的本地运行的第一容器的第一容器信息,并根据第一容器信息确定第一容器的第一镜像信息;
步骤S2044,将第一镜像信息中包含的第一类型的第一信息与目标镜像信息中包含的第一类型的第二信息进行比对,以得到比对结果;
步骤S2046,在确定比对结果为第一比对结果的情况下,基于目标镜像信息构建目标镜像。
在本实施例中,将本地运行的第一容器的第一镜像信息与存储在仓库的目标容器的目标镜像信息进行比对,即可判断本地运行的第一容器是否为最新的容器以及容器是否发生变更或升级。
其中,本地运行的第一容器可以是在本地运行环境中已构建且需要被更新升级的容器,也可以是需要被构建的新镜像所指示的新容器,第一镜像信息可以是存储在本地运行环境的存储区域中,如本地存储模块,或者能够进行数据调取的与本地运行环境相连接的外部存储模块或存储设备,如云存储模块等;第一镜像信息的获取可以是通过对本地运行环境进行轮询获取的,目标镜像信息的获取可以是从仓库进行拉取调用获得的;第一类型的第一信息可以(但不限于)是本地运行的第一容器的镜像manifest信息,目标镜像信息中包含的第一类型的第二信息可以(但不限于)是存储在仓库中的最新的镜像manifest信息,当本地运行的第一容器的镜像manifest信息与存储在仓库中的最新的镜像manifest信息相同,则说明本地运行的容器为最新的容器,无需进行升级更新,否则说明本地运行的容器并非最新的容器,需要被升级更新。
需要说明的是,目标镜像的构建可以是由内设于执行微服务的操作系统的单片机、CPU、MCU、PLC、FPGA等设备或模块来实现的,也可以是通过外接的工业计算机等设备来实现的;相应的,第一信息和第二信息的比对过程也可以是内设于执行微服务的操作系统的单片机、CPU、MCU、PLC、FPGA等设备或模块来执行的,或是通过外接的工业计算机等设备来执行。
在一个可选的实施例中,第一比对结果用于指示第一信息和第二信息不同,在确定比对结果为第一比对结果的情况下,基于目标镜像信息构建目标镜像包括:
步骤S20462,在确定已开启自动更新功能的情况下,将第一镜像信息中包含的第一信息更新为第二信息,以得到第二镜像信息;删除第一容器,基于第二镜像信息创建目标镜像,并根据目标镜像启动目标容器;
步骤S20464,在确定未开启自动更新功能的情况下,判断是否接收到目标终端发送的更新指示;在确定接收到更新指示的情况下,将第一镜像信息中包含的第一信息更新为第二信息,以得到第二镜像信息;删除第一容器,基于第二镜像信息创建目标镜像,并根据目标镜像启动目标容器。
在本实施例中,通过自动更新功能来实现容器的更新升级,能够节约人力,减少人为监控造成的监控失误,并提高容器更新效率;而通过接收到更新指示来实现容器的升级能够方便工作人员对容器的更新进行监控,方便根据实际需求对容器更新进行调整,从而能够适应多种使用环境和实际情况。
其中,将第一信息更新为第二信息,能够减少信息变更的内容,从而减少更新故障,保证系统的正常运行;自动更新功能可以(但不限于)是系统在监控到第一信息与第二信息不同的情况下,自行将本地运行的第一容器进行删除,并根据前述的镜像构建方法重新构建新的镜像;而在未开启自动更新功能的情况下,可以是系统先将第二信息发送至客户端,工作人员在判断确定需要更新后,通过客户端向系统发送更新指示之后再执行容器的删除和更新;自动更新功能的开启可以是通过人为开启的,也可以是按照预设的算法或模型开启的,且自动更新功能的持续性的,也可以是间接性的,以适应不同的使用环境和运行环境;更新指示可以是代码指令,也可以是包含镜像构建的存储地址等信息的信息包,还可以是其它形式的指令;更新指令可以是通过以太网或无线蓝牙进行传输的,也可以是通过3G/4G/5G/量子通信网络进行传输的,还可以是通过人工添加或其它方式进行传输的。
在一个可选的实施例中,在确定未开启自动更新功能的情况下,判断是否接收到目标终端发送的更新指示包括:
步骤S204642,在确定未开启自动更新功能的情况下,向目标终端发送请求信息,其中,请求信息中携带容器标识;
步骤S204644,判断是否接收到目标终端基于请求信息返回的更新指示。
在本实施例中,目标终端可以是通过无线通信系统进行通信连接的移动手机,也可以是通过以太网进行连接的工业计算机,还可以是其它具有控制功能的终端,且目标终端还可以执行将更新指示以及请求信息进行显示的功能,从而方便工作人员对请求信息和更新指示进行查看判断。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种镜像构建装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的一种镜像构建装置的结构框图,如图3所示,该装置包括:
指令采集模块32,用于获取用于请求构建目标镜像的镜像构建指令,其中,目标镜像用于指示目标容器;
镜像构建模块34,用于根据镜像构建指令执行目标操作,其中,目标操作包括:
基于预先接收的容器标识和镜像变更日志确定目标镜像信息,其中,容器标识用于标识目标容器,镜像变更日志用于指示目标镜像的参数;根据目标镜像信息构建目标镜像。
在一个可选的实施例中,该装置还包括:
信息存储模块36,用于在确定目标镜像信息之后,将容器标识和镜像变更日志存储至目标存储区域。
在一个可选的实施例中,镜像构建模块34包括:
容器信息采集单元342,用于获取与目标容器对应的本地运行的第一容器的第一容器信息,并根据第一容器信息确定第一容器的第一镜像信息;
信息比对单元344,用于将第一镜像信息中包含的第一类型的第一信息与目标镜像信息中包含的第一类型的第二信息进行比对,以得到比对结果;
镜像构建单元346,用于在确定比对结果为第一比对结果的情况下,基于目标镜像信息构建目标镜像。
在一个可选的实施例中,在第一比对结果用于指示第一信息和第二信息不同的情况下,镜像构建单元346包括:
第一信息更新子单元3462,用于在确定已开启自动更新功能的情况下,将第一镜像信息中包含的第一信息更新为第二信息,以得到第二镜像信息;删除第一容器,基于第二镜像信息创建目标镜像,并根据目标镜像启动目标容器;
第二信息更新子单元3464,用于在确定未开启自动更新功能的情况下,判断是否接收到目标终端发送的更新指示;在确定接收到更新指示的情况下,将第一镜像信息中包含的第一信息更新为所述第二信息,以得到第二镜像信息;删除第一容器,基于第二镜像信息创建目标镜像,并根据目标镜像启动目标容器。
在一个可选的实施例中,第二信息更新子单元3464包括:
请求发送子单元34642,用于在确定未开启自动更新功能的情况下,向目标终端发送请求信息,其中,请求信息中携带容器标识;
指示判断子单元34644,用于判断是否接收到目标终端基于请求信息返回的更新指示。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
下面结合具体实施例对本发明进行说明。
如图4所示,构建镜像步骤包括:
步骤S101:在执行容器构建之前,在dockerfile中增加CHANGELOG指令和对应镜像变更日志,其中,添加工作可以通过人工操作来实现;
步骤S102:定义CHANGELOG指令的参数,其中,参数包括添加变更描述信息、多个评审人信息、评审时间等信息;
步骤S103:通过docker客户端执行构建请求;
步骤S104:利用改造的docker daemon解析dockerfile,解析出CHANGELOG指令,并将变更日志作为制作和存储镜像指令的参数;
步骤S105:在上传和存储镜像信息时,将CHANGELOG及其参数单独提交至TAG为latest的镜像的配置json信息文件;
步骤S106:将构建的配置json信息文件作为新镜像层,上传并存储至仓库;
随后,如图5所示,对本地容器进行升级更新的过程包括:
步骤S501:自动检测和存储本地运行的容器信息,其中,容器信息包括:容器id,容器名称,镜像地址,镜像manifest信息,镜像json文件信息等;
步骤S502:轮询获取仓库镜像地址命名空间中TAG为latest镜像的manifest信息;并将已获取的仓库中的最新的镜像manifest信息与本地当前运行的镜像manifest信息进行比较,判定二者是否一致;
步骤S503:在二者不一致的情况下,根据配置的自动更新功能决定是否自动更新,否则执行下一次的轮询;
步骤S504:若为非自动更新,则解析最新镜像的json文件信息,并向用户端发送包含CHANGELOG的信息包,由用户端来审计决策是否进行容器升级,若是则执行步骤S205、步骤S206,若否则继续轮询监测;
步骤S505,执行升级操作:删除老的容器;
步骤S506,创建和启动新的容器,并向用户端反馈执行结果,从而完成一次自动迭代升级,并进入下一次轮询监测。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种镜像构建方法,其特征在于,包括:
获取用于请求构建目标镜像的镜像构建指令,其中,所述目标镜像用于指示目标容器;
根据所述镜像构建指令执行目标操作,其中,所述目标操作包括:
基于预先接收的容器标识和镜像变更日志确定目标镜像信息,其中,所述容器标识用于标识所述目标容器,所述镜像变更日志用于指示所述目标镜像的参数;根据所述目标镜像信息构建所述目标镜像。
2.根据权利要求1所述的方法,其特征在于,在确定目标镜像信息之后,所述方法还包括:
将所述容器标识和所述镜像变更日志存储至目标存储区域。
3.根据权利要求1所述的方法,其特征在于,根据所述目标镜像信息构建目标镜像包括:
获取与所述目标容器对应的本地运行的第一容器的第一容器信息,并根据所述第一容器信息确定所述第一容器的第一镜像信息;
将所述第一镜像信息中包含的第一类型的第一信息与所述目标镜像信息中包含的第一类型的第二信息进行比对,以得到比对结果;
在确定所述比对结果为第一比对结果的情况下,基于所述目标镜像信息构建所述目标镜像。
4.根据权利要求3所述的方法,其特征在于,所述第一比对结果用于指示所述第一信息和所述第二信息不同,在确定所述比对结果为第一比对结果的情况下,基于所述目标镜像信息构建所述目标镜像包括:
在确定已开启自动更新功能的情况下,将所述第一镜像信息中包含的所述第一信息更新为所述第二信息,以得到第二镜像信息;删除所述第一容器,基于所述第二镜像信息创建所述目标镜像,并根据所述目标镜像启动所述目标容器;
在确定未开启自动更新功能的情况下,判断是否接收到目标终端发送的更新指示;在确定接收到所述更新指示的情况下,将所述第一镜像信息中包含的所述第一信息更新为所述第二信息,以得到第二镜像信息;删除所述第一容器,基于所述第二镜像信息创建所述目标镜像,并根据所述目标镜像启动所述目标容器。
5.根据权利要求4所述的方法,其特征在于,在确定未开启自动更新功能的情况下,判断是否接收到目标终端发送的更新指示包括:
在确定未开启自动更新功能的情况下,向目标终端发送请求信息,其中,所述请求信息中携带所述容器标识;
判断是否接收到所述目标终端基于所述请求信息返回的所述更新指示。
6.一种镜像构建装置,其特征在于,包括:
指令采集模块,用于获取用于请求构建目标镜像的镜像构建指令,其中,所述目标镜像用于指示目标容器;
镜像构建模块,用于根据所述镜像构建指令执行目标操作,其中,所述目标操作包括:
基于预先接收的容器标识和镜像变更日志确定目标镜像信息,其中,所述容器标识用于标识所述目标容器,所述镜像变更日志用于指示所述目标镜像的参数;根据所述目标镜像信息构建所述目标镜像。
7.据权利要求6述的装置,其特征在于,所述装置还包括:
信息存储模块,用于在确定目标镜像信息之后,将所述容器标识和所述镜像变更日志存储至目标存储区域。
8.根据权利要求6所述的装置,其特征在于,所述镜像构建模块包括:
镜像信息采集单元,用于获取与所述目标容器对应的本地运行的第一容器的第一容器信息,并根据所述第一容器信息确定所述第一容器的第一镜像信息;
信息比对单元,用于将所述第一镜像信息中包含的第一类型的第一信息与所述目标镜像信息中包含的第一类型的第二信息进行比对,以得到比对结果;
镜像构建单元,用于在确定所述比对结果为第一比对结果的情况下,基于所述目标镜像信息构建所述目标镜像。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至5任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110673664.4A CN113282308A (zh) | 2021-06-17 | 2021-06-17 | 一种镜像构建方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110673664.4A CN113282308A (zh) | 2021-06-17 | 2021-06-17 | 一种镜像构建方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113282308A true CN113282308A (zh) | 2021-08-20 |
Family
ID=77284813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110673664.4A Pending CN113282308A (zh) | 2021-06-17 | 2021-06-17 | 一种镜像构建方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282308A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117009003A (zh) * | 2023-09-28 | 2023-11-07 | 飞腾信息技术有限公司 | 一种安全启动方法及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763602A (zh) * | 2016-01-29 | 2016-07-13 | 腾讯科技(深圳)有限公司 | 一种数据请求处理的方法、服务器及系统 |
CN108156003A (zh) * | 2016-12-02 | 2018-06-12 | 中国移动通信有限公司研究院 | 一种应用升级方法及终端、服务器、系统 |
CN111610989A (zh) * | 2020-06-17 | 2020-09-01 | 中国人民解放军国防科技大学 | 一种面向离线容器云环境的应用发布/更新方法及系统 |
CN111654531A (zh) * | 2020-05-22 | 2020-09-11 | 国云科技股份有限公司 | 一种基于容器的镜像更新发布方法及装置 |
CN111880832A (zh) * | 2020-08-03 | 2020-11-03 | 上海嗨酷强供应链信息技术有限公司 | 一种基于docker容器化技术的镜像管理方法 |
-
2021
- 2021-06-17 CN CN202110673664.4A patent/CN113282308A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763602A (zh) * | 2016-01-29 | 2016-07-13 | 腾讯科技(深圳)有限公司 | 一种数据请求处理的方法、服务器及系统 |
CN108156003A (zh) * | 2016-12-02 | 2018-06-12 | 中国移动通信有限公司研究院 | 一种应用升级方法及终端、服务器、系统 |
CN111654531A (zh) * | 2020-05-22 | 2020-09-11 | 国云科技股份有限公司 | 一种基于容器的镜像更新发布方法及装置 |
CN111610989A (zh) * | 2020-06-17 | 2020-09-01 | 中国人民解放军国防科技大学 | 一种面向离线容器云环境的应用发布/更新方法及系统 |
CN111880832A (zh) * | 2020-08-03 | 2020-11-03 | 上海嗨酷强供应链信息技术有限公司 | 一种基于docker容器化技术的镜像管理方法 |
Non-Patent Citations (1)
Title |
---|
JOHNJACKSON: "Docker学习笔记", pages 1 - 3, Retrieved from the Internet <URL:《https://www.cnblogs.com/johnjackson/p/14022937.html》> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117009003A (zh) * | 2023-09-28 | 2023-11-07 | 飞腾信息技术有限公司 | 一种安全启动方法及相关装置 |
CN117009003B (zh) * | 2023-09-28 | 2024-01-09 | 飞腾信息技术有限公司 | 一种安全启动方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108566290B (zh) | 服务配置管理方法、系统、存储介质和服务器 | |
CN108062367B (zh) | 一种数据列表的上传方法及其终端 | |
CN107463362B (zh) | 基于多个Jenkins的持续部署的方法和系统 | |
US20220191719A1 (en) | Network connectivity performance determination on computing devices | |
CN111416821A (zh) | 物联网设备信息采集方法、系统和装置 | |
WO2019051948A1 (zh) | 监控数据的处理方法、设备、服务器及存储介质 | |
CN115292026B (zh) | 容器集群的管理方法、装置、设备及计算机可读存储介质 | |
CN106339273A (zh) | 一种应用程序修复方法、终端及服务器 | |
CN111045893B (zh) | 监控任务的执行方法、装置及系统、存储介质、电子装置 | |
CN111651352B (zh) | 一种仓库代码的合并方法及装置 | |
CN111158711A (zh) | 面向多个安卓系统终端的应用程序部署方法和设备 | |
CN107707394A (zh) | 设备远程升级方法、服务器、系统及可读存储介质 | |
CN111552484A (zh) | 一种应用程序包分发方法、装置、设备及存储介质 | |
CN113282308A (zh) | 一种镜像构建方法、装置、存储介质及电子装置 | |
CN113190286B (zh) | 动态远程加载功能插件的mes系统、加载方法、终端及介质 | |
CN114546588A (zh) | 任务的部署方法、装置、存储介质及电子装置 | |
CN112905306A (zh) | 多集群容器管理方法、装置、电子设备和存储介质 | |
CN112650815B (zh) | 环境数据的同步方法及装置、存储介质及电子装置 | |
CN113032054B (zh) | 一种服务执行方法、装置、存储介质及电子装置 | |
CN114816477A (zh) | 服务器升级方法、装置、设备、介质和程序产品 | |
CN111611131B (zh) | 基于Saltstack的运维方法、装置、系统及存储介质 | |
CN114461501A (zh) | 资源的异常检测方法及装置、存储介质、电子装置 | |
CN115543491A (zh) | 微服务处理方法和装置 | |
CN114466387A (zh) | 基站的配置文件的更新方法、装置、存储介质和电子装置 | |
CN112436974A (zh) | Cdn数据资源一致性检测方法、装置以及计算机设备 |
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 |