CN116431289A - Docker容器维护系统、方法、设备及存储介质 - Google Patents
Docker容器维护系统、方法、设备及存储介质 Download PDFInfo
- Publication number
- CN116431289A CN116431289A CN202310558811.2A CN202310558811A CN116431289A CN 116431289 A CN116431289 A CN 116431289A CN 202310558811 A CN202310558811 A CN 202310558811A CN 116431289 A CN116431289 A CN 116431289A
- Authority
- CN
- China
- Prior art keywords
- state
- docker container
- runtime environment
- running
- maintenance module
- 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
- 238000012423 maintenance Methods 0.000 title claims abstract description 101
- 238000000034 method Methods 0.000 title claims abstract description 46
- 239000000523 sample Substances 0.000 claims abstract description 62
- 238000012544 monitoring process Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 18
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 238000001514 detection method Methods 0.000 abstract description 13
- 238000013461 design Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000036541 health Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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
- 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
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种Docker容器维护系统、方法、设备及存储介质,涉及计算机技术领域。该系统包括:状态探针、运行时环境和维护模块,状态探针与对应的Docker容器打包为一个镜像,维护模块在运行时环境下运行;状态探针,用于在Docker容器运行时,根据第一预设周期获取Docker容器的运行状态,将运行状态发送至运行时环境;维护模块,用于从运行时环境获取运行状态,根据运行状态判断Docker容器是否健康,在确定Docker容器不健康时,向运行时环境发送重启命令;运行时环境,用于根据重启命令重启Docker容器。本申请的系统、方法能够独立实现Docker容器的状态检测和维护,减少系统资源占用。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种Docker容器维护系统、方法、设备及存储介质。
背景技术
Docker容器现有状态检测状态和维护系统,都属于Docker容器编排框架的一个重要组件,耦合程度较高。Docker容器编排框架功能强大,现有的Docker容器编排框架的架构中,状态检测作为工具Docker容器的组成部分,在每一个资源池中存在。
图1为Docker容器现有的编排框架架构图,Docker容器现有的状态检测和维护系统,都属于容器编排框架的一个重要组件,如图1中的状态检测工具容器和系统维护模块;在一个容器编排框架下能够部署不同环境下(包的容器,适用于不同的软硬件环境,其中每个环境部署有多个工具容器和,用于对资源池内应用容器的状态检测和维护。Docker容器编排框架,其功能强大会占用较大的系统资源、带来额外的运维成本和硬件开销。相应的,对于轻量化应用,耦合的其他功能很难用到且占用大量的系统资源。
针对上述缺点,亟需一种Docker容器维护系统、方法、设备及存储介质,能够独立实现Docker容器的状态检测和维护,减少系统资源占用。
发明内容
本申请提供一种Docker容器维护系统、方法、设备及存储介质,能够独立实现Docker容器的状态检测和维护,减少系统资源占用。
第一方面,本申请提供一种Docker容器维护系统,所述系统包括:
状态探针、运行时环境和维护模块,所述状态探针与对应的Docker容器打包为一个镜像,所述维护模块在所述运行时环境下运行;
所述状态探针,用于在所述Docker容器运行时,根据第一预设周期获取所述Docker容器的运行状态,将所述运行状态发送至所述运行时环境;
所述维护模块,用于从所述运行时环境获取所述运行状态,根据所述运行状态判断所述Docker容器是否健康,在确定所述Docker容器不健康时,向所述运行时环境发送重启命令;
在一种可能的设计中,所述维护模块,还用于:
根据第二预设周期向所述运行时环境发送查询命令,所述查询命令用于查询所述Docker容器的运行状态。
在一种可能的设计中,所述运行时环境,还用于:
获取所述状态探针发送的所述运行状态;获取所述维护模块发送的查询命令;根据所述查询命令向维护模块发送所述运行状态。
第二方面,本申请提供一种Docker容器维护方法,采用一种Docker容器维护系统进行Docker容器的维护,所述系统包括状态探针、运行时环境和维护模块,所述状态探针与对应的所述Docker容器打包为一个镜像,所述维护模块在所述运行时环境下运行,所述方法包括:
在所述Docker容器运行时,所述状态探针根据第一预设周期获取所述Docker容器的运行状态,将所述运行状态发送至所述运行时环境;
所述维护模块从所述运行时环境获取所述运行状态,根据所述运行状态判断所述Docker容器是否健康,在确定所述Docker容器不健康时,向所述运行时环境发送重启命令;
所述运行时环境根据所述重启命令重启所述Docker容器。
在一种可能的设计中,所述运行状态包括应用程序进程状态、网络接口监听状态和网络接口状态;所述应用程序进程状态用于指示所述Docker容器的应用程序进程是否存在;所述网络接口监听状态用于指示所述Docker容器的网络接口监听状态是否正常;所述网络接口状态用于指示所述Docker容器的网络接口是否可达,所述维护模块从所述运行时环境获取所述运行状态;所述状态探针根据第一预设周期获取所述Docker容器的运行状态。
在一种可能的设计中,所述状态探针根据第一预设周期获取所述Docker容器的运行状态,包括:
状态探针按照第一预设周期,根据ps命令获取所述Docker容器的应用程序进程状态,根据netstat命令获取所述Docker容器的网络接口监听状态,根据telnet命令获取所述Docker容器的网络接口状态。
在一种可能的设计中,所述维护模块从所述运行时环境获取所述运行状态,包括:
所述维护模块根据第二预设周期向所述运行时环境发送查询命令,所述查询命令用于查询所述Docker容器的运行状态,所述运行时环境根据所述查询命令向维护模块发送所述运行状态。
在一种可能的设计中,所述根据所述运行状态判断所述Docker容器是否健康,包括:
若所述Docker容器满足应用程序进程不存在、网络接口监听状态不正常和网络接口不可达中的任一项,确定所述Docker容器不健康。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现Docker容器维护方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现Docker容器维护方法。
本申请提供的Docker容器维护系统、方法、设备及存储介质,包括状态探针、运行时环境和维护模块,状态探针与对应的Docker容器打包为一个镜像,根据状态探针检测Docker容器的运行状态,将Docker容器的运行状态发送至运行时环境,维护模块从运行时环境获取运行状态,根据运行状态判断Docker容器是否健康,若不健康,重启Docker容器。实现了如下技术效果:
能够脱离现有的容器编排框架,利用现有的运行时环境,在不引入其他工具的情况下,独立实现Docker容器的运行状态检测和维护;降低部署成本低,提高运维效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为Docker容器现有的编排框架架构图;
图2为本申请实施例提供的Docker容器维护系统的结构示意图;
图3为本申请实施例提供的Docker容器维护方法的流程示意图一;
图4为本申请实施例提供的Docker容器维护方法的流程示意图二;
图5为本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的系统和方法的例子,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
需要说明的是,本申请实施例中的“在……时”,可以为在某种情况发生的瞬时,也可以为在某种情况发生后的一段时间内,本申请实施例对此不作具体限定。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。
下面进行名词解释:
Docker容器:是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app),几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。
运行时环境:RunTime Environment,又称“运行期系统(run-time system)”,指一种把半编译的运行码在目标机器上运行的环境;运行时环境的主要功能包括:用于启动容器的应用程序、作为容器所依赖的存储工具、管理容器所依赖的网络环境。
本申请提供的一种Docker容器维护系统,包括状态探针、运行时环境和维护模块,状态探针与对应的Docker容器打包为一个镜像,用于检测Docker容器的运行状态,将运行状态发送至运行时环境;维护模块用于根据Docker容器的运行状态判断Docker容器的健康状态;在确定Docker容器不健康时发动重启命令。采用上述系统实现对Docker容器的运行状态检测和维护。本申请能够在不引入其他工具的情况下,通过状态探针检测Docker容器的运行状态,通过维护模块对Docker进行维护,独立实现Docker容器的运行状态检测和维护;降低部署成本低,提高运维效率。
下面结合附图对本申请实施例提供的Docker容器维护系统、方法进行详细地介绍。
图2为本申请实施例提供的一种Docker容器维护系统的结构示意图。如图2,在同一运行环境下有一个或者多个Docker容器205;本申请实施例提供的一种Docker容器维护系统用于维护上述Docker容器205。
该系统包括状态探针201、运行时环境203和维护模块202,状态探针与对应的Docker容器205打包为一个镜像,维护模块202在运行时环境203下运行。
状态探针201,用于在Docker容器205运行时,根据第一预设周期获取Docker容器205的运行状态,将运行状态发送至运行时环境203;
维护模块202,用于从运行时环境203获取运行状态,根据运行状态判断Docker容器205是否健康,在确定Docker容器205不健康时,向运行时环境203发送重启命令;
具体的,采用Shell脚本实现状态探针201,状态探针201以脚本的形式存在,将状态探针201与Docker容器205打包为一个镜像,即在Docker容器205内插入一个状态探针201,Docker容器205内除原有的应用程序204外还包括一个状态探针201,上述同一镜像的设置,使得状态探针201能够通过命令的方式检测Docker容器205的运行状态,并将运行状态发送至运行时环境203。
具体的,维护模块202打包为容器,以容器的形式在运行时环境203中运行,维护模块202还用于:根据第二预设周期向运行时环境203发送查询命令,查询命令用于查询Docker容器205的运行状态。
具体的,运行时环境203,还用于:获取状态探针201发送的运行状态;获取维护模块202发送的查询命令;根据查询命令向维护模块202发送运行状态。
本实施例提供的一种Docker容器维护系统,包括状态探针、运行时环境和维护模块,状态探针与对应的Docker容器打包为一个镜像,用于检测Docker容器的运行状态,将运行状态发送至运行时环境;维护模块用于根据Docker容器的运行状态判断Docker容器的健康状态;在确定Docker容器不健康时发动重启命令。实现了如下技术效果:
本实施例系统能够在不引入其他工具的情况下,通过状态探针检测Docker容器的运行状态,通过维护模块对Docker进行维护,独立实现Docker容器的运行状态检测和维护;降低部署成本低,提高运维效率。
图3本申请实施例提供的一种Docker容器维护方法流程示意图一。如图3所示,采用上述一种Docker容器维护系统进行,该方法包括:
S301、在Docker容器运行时,状态探针根据第一预设周期获取Docker容器的运行状态,将运行状态发送至运行时环境;
具体的,运行状态包括运行状态包括应用程序进程状态、网络接口监听状态和网络接口状态;状态探针每隔一个第一预设周期对同一镜像下的Docker容器进行状态检测,获取Docker容器的应用程序进程状态、网络接口监听状态和网络接口状态的检测,将上述运行状态发送至运行时环境;
S302、维护模块从运行时环境获取运行状态,根据运行状态判断Docker容器是否健康,在确定Docker容器不健康时,向运行时环境发送重启命令。
具体的,维护模块根据查询命令每隔一个第二预设周期从运行时环境获取Docker容器的运行状态,当应用程序进程状态、网络接口监听状态和网络接口状态中存在一项状出现异常,确定该Docker容器是不健康的,向运行时环境该Docker的重启命令。
S303、运行时环境根据重启命令重启Docker容器。
具体的,重启命令中包括Docker容器的标识,运行时环境根据其标识重启对应的Docker容器。
本实施例提供的方法,根据状态探针检测Docker容器的运行状态,将Docker容器的运行状态发送至运行时环境,维护模块从运行时环境获取运行状态,根据运行状态判断Docker容器是否健康,在确定Docker容器不健康时,重启Docker容器。实现了如下技术效果:
本实施例方法能够在Docker容器内插入状态探针,根据状态探针检测Docker容器的运行状态,将Docker容器的运行状态发送至运行时环境,利用现有的运行时环境进行状态存储,维护模块从运行时环境获取运行状态,根据运行状态对Docker容器的健康状态进行判断和重启,在不引入其他工具的情况下,独立实现Docker容器的运行状态检测和维护;降低部署成本低,提高运维效率。
图4为本申请实施例提供的一种Docker容器维护方法流程示意图二,同样采用上述系统进行Docker容器的健康检测和维护。如图4所示,该方法包括:
S401、在Docker容器运行时,根据状态探针检测Docker容器的应用程序进程状态、网络接口监听状态和网络接口状态;
具体来说,采用Shell脚本实现状态探针,状态探针以脚本的形式存在,且与要检测的Docker容器打包为一个镜像;在Docker容器运行时,状态探针按照第一预设周期进行运行状态的获取。
具体的检测方法为:根据ps命令获取Docker容器的应用程序进程状态,应用程序进程状态用于指示Docker容器的应用程序进程是否存在;状态探针根据netstat命令获取Docker容器的网络接口监听状态,网络接口监听状态用于指示Docker容器的网络接口监听状态是否正常;状态探针根据telnet命令获取Docker容器的网络接口状态,网络接口状态用于指示Docker容器的网络接口是否可达。
具体的,在容器环境中若存在多个Docker容器,需要多个状态探针与Docker容器一一对应,每个状态探针用于检测在相同镜像下的Docker容器的运行状态。
S402、将应用程序进程状态、网络接口监听状态和网络接口状态发送至运行时环境;
具体来说,状态探针发送的将应用程序进程状态、网络接口监听状态和网络接口状态中还包括所检测的Docker容器的标签,用于定位所检测的Docker容器,利用运行时环境能够作为容器所依赖的存储工具的功能,用于接收并存储网络探针发送的一个或者多个Docker容器的运行状态。
S403、维护模块根据查询命令从运行时环境获取Docker容器的应用程序进程状态、网络接口监听状态和网络接口状态;
具体来说,维护模块根据预设时间段采用查询命令docker ps命令,根据不同Docker容器的标签,可以从运行时环境中查询不同Docker容器的应用程序进程状态、网络接口监听状态和网络接口状态;
S404、若Docker容器满足应用程序进程不存在、网络接口监听状态不正常和网络接口不可达中的任一项,确定Docker容器不健康;
具体的,维护模块根据Docker容器的运行状态进行健康状态的检测,在得到的应用程序进程状态、网络接口监听状态和网络接口状态任意一项存在异常时(即应用程序进程不存在、网络接口监听状态不正常或网络接口不可达),确定Docker容器不健康。
S405、若确定Docker容器不健康,维护模块向运行时环境发送该Docker容器的重启命令,运行时环境根据重启命令重启该Docker容器。
具体的,在维护模块确定某Docker容器不健康之后,向维护模块向运行时环境发送docker restart重启命令,其中重启命令中包括不健康的Docker容器的标签,运行时环境根据Docker容器的标签向重启对应的Docker容器,以实现Docker容器的自愈。
采用本实施例提供的方法,利用Docker容器支持的Linux命令,根据状态探针检测Docker容器的应用程序进程状态、网络接口监听状态和网络接口状态,将上述Docker容器的运行状态发送至运行时环境,维护模块从运行时环境获取运行状态,根据运行状态判断Docker容器是否健康,在确定Docker容器不健康的情况下,向运行时环境发送重启命令,以实现Docker容器的自愈。可以实现如下技术效果:
本实施例方法能够利用Docker容器支持的Linux命令,在Docker容器内插入状态探针,根据状态探针检测Docker容器的运行状态,将Docker容器的运行状态发送至运行时环境,利用现有的运行时环境进行存储,维护模块从运行时环境获取运行状态,根据运行状态对Docker容器的健康状态进行判断,在不引入其他工具的情况下,独立实现Docker容器的运行状态检测和维护;本实施例方法能够减少系统内存的占用,降低部署成本,提高运维效率。
图5为本申请实施例提供的电子设备的结构示意图。如图5所示,该电子设备50包括:至少一个处理器501和存储器502。该电子设备50还包括通信部件503。其中,处理器501、存储器502以及通信部件503通过总线504连接。
在具体实现过程中,至少一个处理器501执行存储器502存储的计算机执行指令,使得至少一个处理器501执行如上电子设备侧所执行的Docker容器维护方法。
处理器501的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述针对电子设备以及主控设备所实现的功能,对本发明实施例提供的方案进行了介绍。可以理解的是,电子设备或主控设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的技术方案的范围。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上Docker容器维护方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于电子设备或主控设备中。
本申请还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种Docker容器维护系统,其特征在于,包括:
状态探针、运行时环境和维护模块,所述状态探针与对应的Docker容器打包为一个镜像,所述维护模块在所述运行时环境下运行;
所述状态探针,用于在所述Docker容器运行时,根据第一预设周期获取所述Docker容器的运行状态,将所述运行状态发送至所述运行时环境;
所述维护模块,用于从所述运行时环境获取所述运行状态,根据所述运行状态判断所述Docker容器是否健康,在确定所述Docker容器不健康时,向所述运行时环境发送重启命令;
所述运行时环境,用于根据所述重启命令重启所述Docker容器。
2.如权利要求1所述的系统,其特征在于,所述维护模块,还用于:
根据第二预设周期向所述运行时环境发送查询命令,所述查询命令用于查询所述Docker容器的运行状态。
3.如权利要求2所述的系统,其特征在于,所述运行时环境,还用于:
获取所述状态探针发送的所述运行状态;获取所述维护模块发送的查询命令;根据所述查询命令向维护模块发送所述运行状态。
4.一种Docker容器维护方法,其特征在于,采用一种Docker容器维护系统,所述系统包括状态探针、运行时环境和维护模块,所述状态探针与对应的Docker容器打包为一个镜像,所述维护模块在所述运行时环境下运行;所述方法包括:
在所述Docker容器运行时,所述状态探针根据第一预设周期获取所述Docker容器的运行状态,将所述运行状态发送至所述运行时环境;
所述维护模块从所述运行时环境获取所述运行状态,根据所述运行状态判断所述Docker容器是否健康,在确定所述Docker容器不健康时,向所述运行时环境发送重启命令;
所述运行时环境根据所述重启命令重启所述Docker容器。
5.根据权利要求4所述的方法,其特征在于,所述运行状态包括应用程序进程状态、网络接口监听状态和网络接口状态;所述应用程序进程状态用于指示所述Docker容器的应用程序进程是否存在;所述网络接口监听状态用于指示所述Docker容器的网络接口监听状态是否正常;所述网络接口状态用于指示所述Docker容器的网络接口是否可达,所述维护模块从所述运行时环境获取所述运行状态;所述状态探针根据第一预设周期获取所述Docker容器的运行状态。
6.根据权利要求5所述的方法,其特征在于,所述状态探针根据第一预设周期获取所述Docker容器的运行状态,包括:
状态探针按照第一预设周期,根据ps命令获取所述Docker容器的应用程序进程状态,根据netstat命令获取所述Docker容器的网络接口监听状态,根据telnet命令获取所述Docker容器的网络接口状态。
7.根据权利要求5所述的方法,其特征在于,所述维护模块从所述运行时环境获取所述运行状态,包括:
所述维护模块根据第二预设周期向所述运行时环境发送查询命令,所述查询命令用于查询所述Docker容器的运行状态,所述运行时环境根据所述查询命令向维护模块发送所述运行状态。
8.根据权利要求5所述的方法,其特征在于,所述根据所述运行状态判断所述Docker容器是否健康,包括:
若所述Docker容器满足应用程序进程不存在、网络接口监听状态不正常和网络接口不可达中的任一项,确定所述Docker容器不健康。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求4至8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求4至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310558811.2A CN116431289A (zh) | 2023-05-17 | 2023-05-17 | Docker容器维护系统、方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310558811.2A CN116431289A (zh) | 2023-05-17 | 2023-05-17 | Docker容器维护系统、方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116431289A true CN116431289A (zh) | 2023-07-14 |
Family
ID=87092810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310558811.2A Pending CN116431289A (zh) | 2023-05-17 | 2023-05-17 | Docker容器维护系统、方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431289A (zh) |
-
2023
- 2023-05-17 CN CN202310558811.2A patent/CN116431289A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1668509B1 (en) | Method and apparatus for monitoring and resetting a co-processor | |
US9946553B2 (en) | BMC firmware recovery | |
JP2002268900A (ja) | 論理分割された(lpar)計算機でシステム・ファームウェア更新を安全に実行する機構 | |
US10831467B2 (en) | Techniques of updating host device firmware via service processor | |
US20190171507A1 (en) | Techniques of monitoring and updating system component health status | |
US7200772B2 (en) | Methods and apparatus to reinitiate failed processors in multiple-processor systems | |
US10474517B2 (en) | Techniques of storing operational states of processes at particular memory locations of an embedded-system device | |
CN112199240B (zh) | 一种节点故障时进行节点切换的方法及相关设备 | |
CN108958884A (zh) | 一种虚拟机管理的方法及相关装置 | |
US20050033952A1 (en) | Dynamic scheduling of diagnostic tests to be performed during a system boot process | |
CN115904793B (zh) | 一种基于多核异构系统的内存转存方法、系统及芯片 | |
US8032791B2 (en) | Diagnosis of and response to failure at reset in a data processing system | |
US10572435B2 (en) | Techniques of accessing serial console of BMC using host serial port | |
CN111538562A (zh) | 云计算平台上Linux云主机业务连续性测试方法及装置 | |
CN116431289A (zh) | Docker容器维护系统、方法、设备及存储介质 | |
US10509656B2 (en) | Techniques of providing policy options to enable and disable system components | |
US10176142B2 (en) | Techniques of accessing BMC terminals through serial port | |
CN107179911B (zh) | 一种重启管理引擎的方法和设备 | |
CN115576734A (zh) | 一种多核异构日志存储方法和系统 | |
US10802901B2 (en) | Obtaining state information of threads of a device | |
CN111158783B (zh) | 一种环境变量修改方法、装置、设备及可读存储介质 | |
TWI554876B (zh) | 節點置換處理方法與使用其之伺服器系統 | |
US20240020103A1 (en) | Parallelizing data processing unit provisioning | |
CN114297009B (zh) | 一种服务器测试的方法及装置、电子设备 | |
JP7389877B2 (ja) | ネットワークの最適なブートパスの方法及びシステム |
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 |