CN110647383A - 一种基于docker容器的应用管理方法及计算设备 - Google Patents

一种基于docker容器的应用管理方法及计算设备 Download PDF

Info

Publication number
CN110647383A
CN110647383A CN201910901286.3A CN201910901286A CN110647383A CN 110647383 A CN110647383 A CN 110647383A CN 201910901286 A CN201910901286 A CN 201910901286A CN 110647383 A CN110647383 A CN 110647383A
Authority
CN
China
Prior art keywords
application
docker container
task
applications
application management
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
CN201910901286.3A
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.)
Qingdao Lianzhong Zhixin Technology Co Ltd
Original Assignee
Qingdao Lianzhong Zhixin Technology 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 Qingdao Lianzhong Zhixin Technology Co Ltd filed Critical Qingdao Lianzhong Zhixin Technology Co Ltd
Priority to CN201910901286.3A priority Critical patent/CN110647383A/zh
Publication of CN110647383A publication Critical patent/CN110647383A/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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

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

Abstract

本公开实施例提供了一种基于docker容器的应用管理方法、可读存储介质及计算设备,用于实现支持多应用的docker容器。方法包括:docker容器接收多个应用的应用管理任务;docker容器执行多个应用的应用管理任务。

Description

一种基于docker容器的应用管理方法及计算设备
技术领域
本公开涉及计算机软件技术领域,尤其涉及一种基于docker容器的应用管理方法、可读存储介质及计算设备。
背景技术
Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用并安装在一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app),更重要的是容器性能开销极低。
目前,docker原生只支持一个随docker容器启动的应用程序。
发明内容
为此,本公开提供了一种基于docker容器的应用管理方法、可读存储介质及计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本公开实施例的一个方面,提供了一种基于docker容器的应用管理方法,包括:
docker容器接收多个应用的应用管理任务;
docker容器执行所述多个应用的应用管理任务。
可选地,docker容器执行应用管理任务,包括:
如果应用管理任务包括应用安装任务,则docker容器将待安装应用的安装包解压至指定的目录;
如果应用管理任务包括应用启动任务,则docker容器检测已安装应用中是否包括待启动应用,如果是,启动待启动应用,否则,返回发生错误的信息;
如果应用管理任务包括应用停止任务,则docker容器检测已启动应用中是否包括待停止应用,如果是,停止待停止应用,否则,返回发生错误的信息;
如果应用管理任务包括应用使能任务,则docker容器检测已安装应用中是否包括待使能应用,如果是,设置待使能应用为使能状态,否则,返回发生错误的信息;
如果应用管理任务包括应用去使能任务,则docker容器检测已安装应用中是否包括待去使能应用,如果是,设置待去使能应用为去使能状态,否则,返回发生错误的信息;
如果应用管理任务包括应用删除任务,则docker容器检测已安装应用中是否包括待删除应用,如果是,删除待删除应用,否则,返回发生错误的信息。
可选地,docker容器将待安装应用的安装包解压至指定的目录之后,还包括:
对待安装应用进行完整性验证和合法性验证,如果验证均通过,则生成对应的应用信息,否则,删除解压文件。
可选地,启动待启动应用之后,还包括:
记录待启动应用的进程标识ID,以及,设置待启动应用的运行状态数据。
可选地,停止待停止应用之后,还包括:
设置待停止应用的运行状态数据。
可选地,docker容器接收多个应用的应用管理任务,包括:
docker容器的第一进程接收多个应用的应用管理任务;
第一进程将应用管理任务发送给docker容器的第二进程;
docker容器执行多个应用的应用管理任务,包括:
第二进程执行多个应用的应用管理任务;
第二进程将任务处理结果返回给第一进程;
其中,第一进程与第二进程通过域套接字通信。
可选地,方法还包括:
设置docker容器已安装的多个应用的资源占用阈值;
查询各个应用当前占用的资源量;
如果确定任一应用占用的资源量大于资源占用阈值,则停止或重启该应用。
可选地,方法还包括:
查询多个应用的运行状态数据;
根据多个应用的运行状态数据,确定多个应用中失去响应的应用;
停止或重启失去响应的应用。
根据本公开实施例的又一个方面,提供了一种可读存储介质,其上具有可执行指令,当可执行指令被执行时,使得计算机执行上述基于docker容器的应用管理方法所包括的操作。
根据本公开实施例的又一个方面,提供一种计算设备,包括:处理器;以及存储器,其存储有可执行指令,可执行指令当被执行时使得处理器执行上述基于docker容器的应用管理方法所包括的操作。
根据本公开提供的技术方案,docker容器能够接收并执行多个应用的应用管理任务,相比于原生docker容器仅支持一个应用启动,扩展了docker的功能,可适用于需要单个docker容器启动多个应用的场景。
附图说明
附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
图1是示例性的计算设备100的结构框图;
图2是根据本公开实施例的一种基于docker容器的应用管理方法的流程图;
图3是根据本公开实施例的一种基于docker容器的应用管理方法的另一流程图;
图4是根据本公开实施例的一种基于docker容器的应用管理方法的又一流程图;
图5是根据本公开实施例的docker容器的运行原理示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是布置为实现根据本公开的一种基于docker容器的应用管理方法的示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个程序122以及程序数据124。在一些实施方式中,程序122可以被配置为在操作系统上由一个或者多个处理器104利用程序数据124执行指令。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示终端或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。
其中,计算设备100的一个或多个程序122包括用于执行根据本公开的一种基于docker容器的应用管理方法的指令。
图2示例性示出根据本公开的一种基于docker容器的应用管理方法200的流程图,方法200始于步骤S210。
S210、docker容器接收多个应用的应用管理任务;
S220、docker容器执行多个应用的应用管理任务。
根据本公开实施例,docker容器可以接收并执行多个不同应用的应用管理任务,从而实现了支持多个应用的docker容器。应用管理任务可以是应用安装任务、应用启动任务、应用停止任务、应用使能任务、应用去使能任务、应用删除任务。
为实现docker容器支持多个应用的应用管理任务,docker容器执行应用管理任务时,包括:如果应用管理任务包括应用安装任务,则docker容器将待安装应用的安装包解压至指定的目录;如果应用管理任务包括应用启动任务,则docker容器检测已安装应用中是否包括待启动应用,如果是,启动待启动应用,否则,返回发生错误的信息;如果应用管理任务包括应用停止任务,则docker容器检测已启动应用中是否包括待停止应用,如果是,停止待停止应用,否则,返回发生错误的信息;如果应用管理任务包括应用使能任务,则docker容器检测已安装应用中是否包括待使能应用,如果是,设置待使能应用为使能状态,否则,返回发生错误的信息;如果应用管理任务包括应用去使能任务,则docker容器检测已安装应用中是否包括待去使能应用,如果是,设置待去使能应用为去使能状态,否则,返回发生错误的信息;如果应用管理任务包括应用删除任务,则docker容器检测已安装应用中是否包括待删除应用,如果是,删除待删除应用,否则,返回发生错误的信息。通过重新设计docker容器执行应用管理任务的流程,从而实现了支持多应用管理的docker容器。
进一步地,docker容器在执行应用安装任务时,对待安装应用进行完整性验证和合法性验证,如果验证均通过,则生成对应的应用信息,否则,删除解压文件。其中,完整性验证可采用MD5 hash算法,合法性验证可采用RSA算法;应用信息可以是App的索引、App名、app版本、app的md5 hash、App对应服务的的索引、服务名、服务的使能状态、运行状态、CPU的阈值、CPU的使用、内存的阈值、内存使用、日志信息。
进一步地,docker容器在执行应用启动任务时,在启动应用后,记录应用的进程ID,以及,设置应用的运行状态数据。
进一步地,docker容器在执行应用停止任务时,在停止应用后,重新设置应用的运行状态数据。
根据本公开一实施例,docker容器包括第一进程、第二进程,第一进程接收多个应用的应用管理任务,将应用管理任务发送给第二进程;第二进程执行多个应用的应用管理任务;第二进程将任务处理结果返回给第一进程;第一进程与第二进程通过域套接字通信。其中,域套接字可以是UNIX域套接字,用于在同一台机器上运行的进程之间的通信。因特网域套接字也可用于同一目的,但UNIX域套接字的效率更高。UNIX域套接字仅仅复制数据,并不执行协议处理,不需要添加或删除网络报头,无需计算检验和,不要产生顺序号,无需发送确认报文。UNIX域套接字提供流和数据报两种接口,该服务是可靠的,既不会丢失消息也不会传递出错。
进一步地,第二进程可以包括多个协程,其中,第一协程用于接收应用管理任务,维护应用管理任务队列,第二协程用于从应用管理任务队列获取任务并处理应用管理任务。协程是一种比线程更加轻量级的存在,其特点在于,协程不被操作系统内核所管理,而完全是由程序所控制(也就是在用户态执行)。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。
根据本公开一实施例,基于docker容器的应用管理方法200如图3所示,还包括:
S310、设置docker容器已安装的多个应用的资源占用阈值;
S320、查询各个应用当前占用的资源量;
S330、如果确定任一应用占用的资源量大于资源占用阈值,则停止或重启该应用。
其中,应用占用的资源可以是CPU或内存。
根据本公开一实施例,基于docker容器的应用管理方法200如图4所示,还包括:
S410、查询多个应用的运行状态数据;
S420、根据多个应用的运行状态数据,确定多个应用中失去响应的应用;
S430、停止或重启失去响应的应用。
下面给出本公开的具体实施例。
如图5所示,本公开具体实施提供的docker容器包括2个进程,一个是常驻守护进程(appctl-daemon),一个是命令行控制程序(appctl),appctl-daemon与appctl之间使用unix域数据报套接字进行进程间通信。
appctl进程的数据处理内容包括:
1)初始化,绑定域套接字,启动数据报接收协程;
2)接收用户命令行命令参数并进行合法性校验;
3)把命令行命令及参数封装为协议报文发送给appctl-daemon进行处理;
4)将appctl-daemon回的报文(命令字、处理结果码、结果信息、应用信息)进行处理及输出结果;
其中,对于不同的命令行命令,输出结果不同:
1、如果是安装命令,安装成功则无输出,否则输出错误信息;
2、如果是启动命令,启动成功则无输出,否则输出错误信息;
3、如果是停止命令,停止成功则无输出,否则输出错误信息;
4、如果是使能命令,使能成功则无输出,否则输出错误信息;5、如果是去使能命令,去使能成功则无输出,否则输出错误信息;
6、如果是删除命令,删除成功则无输出,否则输出错误信息;
7、如果是应用app信息查看命令,存在则输出app列表信息,否则输出错误信息;
8、如果是设置CPU阈值命令,设置成功无输出,否则输出错误信息;
9、如果是设置内存阈值命令,设置成功无输出,否则输出错误信息;
10、如果是查询CPU阈值命令,则输出CPU阈值;
11、如果是查询内存阈值命令,则输出内存阈值;
12、如果是查询容器版本命令,则输出版本信息;
13、如果是查询app日志信息,则输出app的操作日志信息及告警日志信息。
appctl-daemon进程的数据处理内容包括:
1)初始化,绑定域套接字,启动数据报接收协程,启动报文处理协程;
2)接收协程收到数据报文后把数据放入协程队列;
3)处理协程从协程队列取出数据进行处理;
4)在队列空闲时进行任务检测;
5)如果命令是app包安装,对安装包进行解压到指定目录,然对app通过MD5 hash进行完整性验证,通过RSA算法进行合法性验证。如果不通过则删除安装包,通过则生成app信息;
6)如果命令是启动app,则先检测app文件是否存在,不存在则返回错误信息,存在则启动app;启动失败则返回错误信息,成功则保存app进程id,设置相关运行状态数据;
7)如果命令是停止app,则先检测app是否已启动,如果已启动则停止,失败则返回错误信息;成功则更新app的进程ID及运行状态值;
8)如果命令是使能app,则先检测app是否存在,不存在则返回错误信息,否则置app使能状态;
9)如果命令是去使能app,则先检测app是否存在,不存在则返回错误信息,否则置app去使能状态;
10)如果命令是删除app,则先检测app文件是否存在,不存在则返回错误信息,否则删除app文件;
11)如果命令是设置app的cpu及内存使用阈值,则先检测app是否存在,不存在则返回错误信息,否则,设置app的cpu及内存使用阈值;
12)如果命令是查询app信息,则先检测app是否存在,不存在则返回错误信息,否则根据命令检测内存、cpu阈值及使用情况;
13)app检查任务定时检查app的存活状态及CPU、内存使用情况,如果CPU、内存使用率超过设定的阈值了,则产生一条告警信息然后重启app;如果app失去响应则重新启动app。
综上所述,本公开提供了一种基于docker容器的应用管理方法、可读存储介质及计算设备,实现了支持多应用的docker容器,扩展了docker容器的功能。
应当理解,这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本公开的方法和设备,或者本公开的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被该机器执行时,该机器变成实践本公开的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的该程序代码中的指令,执行本公开的各种方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本公开的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本公开,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本公开的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本公开的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本公开的范围,对本公开所做的公开是说明性的,而非限制性的,本公开的范围由所附权利要求书限定。

Claims (10)

1.一种基于docker容器的应用管理方法,其特征在于,包括:
docker容器接收多个应用的应用管理任务;
所述docker容器执行所述多个应用的应用管理任务。
2.如权利要求1所述的方法,其特征在于,所述docker容器执行应用管理任务,包括:
如果所述应用管理任务包括应用安装任务,则所述docker容器将待安装应用的安装包解压至指定的目录;
如果所述应用管理任务包括应用启动任务,则所述docker容器检测已安装应用中是否包括待启动应用,如果是,启动所述待启动应用,否则,返回发生错误的信息;
如果所述应用管理任务包括应用停止任务,则所述docker容器检测已启动应用中是否包括待停止应用,如果是,停止所述待停止应用,否则,返回发生错误的信息;
如果所述应用管理任务包括应用使能任务,则所述docker容器检测已安装应用中是否包括待使能应用,如果是,设置所述待使能应用为使能状态,否则,返回发生错误的信息;
如果所述应用管理任务包括应用去使能任务,则所述docker容器检测已安装应用中是否包括待去使能应用,如果是,设置所述待去使能应用为去使能状态,否则,返回发生错误的信息;
如果所述应用管理任务包括应用删除任务,则所述docker容器检测已安装应用中是否包括待删除应用,如果是,删除所述待删除应用,否则,返回发生错误的信息。
3.如权利要求2所述的方法,其特征在于,所述docker容器将待安装应用的安装包解压至指定的目录之后,还包括:
对所述待安装应用进行完整性验证和合法性验证,如果验证均通过,则生成对应的应用信息,否则,删除解压文件。
4.如权利要求2所述的方法,其特征在于,启动所述待启动应用之后,还包括:
记录所述待启动应用的进程标识ID,以及,设置所述待启动应用的运行状态数据。
5.如权利要求4所述的方法,其特征在于,停止所述待停止应用之后,还包括:
设置所述待停止应用的运行状态数据。
6.如权利要求1所述的方法,其特征在于,所述docker容器接收多个应用的应用管理任务,包括:
所述docker容器的第一进程接收多个应用的应用管理任务;
所述第一进程将所述应用管理任务发送给所述docker容器的第二进程;
所述docker容器执行所述多个应用的应用管理任务,包括:
所述第二进程执行所述多个应用的应用管理任务;
所述第二进程将任务处理结果返回给所述第一进程;
其中,所述第一进程与所述第二进程通过域套接字通信。
7.如权利要求1所述的方法,其特征在于,还包括:
设置所述docker容器已安装的多个应用的资源占用阈值;
查询各个应用当前占用的资源量;
如果确定任一应用占用的资源量大于所述任一应用的资源占用阈值,则停止或重启所述任一应用。
8.如权利要求1所述的方法,其特征在于,还包括:
查询多个应用的运行状态数据;
根据所述多个应用的运行状态数据,确定所述多个应用中失去响应的应用;
停止或重启所述失去响应的应用。
9.一种可读存储介质,其上具有可执行指令,当所述可执行指令被执行时,使得计算机执行权利要求1-8中的任意一个所包括的操作。
10.一种计算设备,包括:
处理器;以及
存储器,其存储有可执行指令,所述可执行指令当被执行时使得所述处理器执行权利要求1-8中的任意一个所包括的操作。
CN201910901286.3A 2019-09-23 2019-09-23 一种基于docker容器的应用管理方法及计算设备 Pending CN110647383A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910901286.3A CN110647383A (zh) 2019-09-23 2019-09-23 一种基于docker容器的应用管理方法及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910901286.3A CN110647383A (zh) 2019-09-23 2019-09-23 一种基于docker容器的应用管理方法及计算设备

Publications (1)

Publication Number Publication Date
CN110647383A true CN110647383A (zh) 2020-01-03

Family

ID=68992381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910901286.3A Pending CN110647383A (zh) 2019-09-23 2019-09-23 一种基于docker容器的应用管理方法及计算设备

Country Status (1)

Country Link
CN (1) CN110647383A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024040846A1 (zh) * 2022-08-23 2024-02-29 奇安信网神信息技术(北京)股份有限公司 数据处理方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870787A (zh) * 2016-09-26 2018-04-03 平安科技(深圳)有限公司 应用程序插件化加载方法及系统
CN108984268A (zh) * 2018-07-13 2018-12-11 郑州云海信息技术有限公司 Docker系统中容器管理的方法和装置
CN109284161A (zh) * 2018-09-13 2019-01-29 深圳市青葡萄科技有限公司 桌面虚拟化环境下的软件分发方法
CN109388473A (zh) * 2018-09-19 2019-02-26 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于移动操作系统的Android兼容层实现方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870787A (zh) * 2016-09-26 2018-04-03 平安科技(深圳)有限公司 应用程序插件化加载方法及系统
CN108984268A (zh) * 2018-07-13 2018-12-11 郑州云海信息技术有限公司 Docker系统中容器管理的方法和装置
CN109284161A (zh) * 2018-09-13 2019-01-29 深圳市青葡萄科技有限公司 桌面虚拟化环境下的软件分发方法
CN109388473A (zh) * 2018-09-19 2019-02-26 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于移动操作系统的Android兼容层实现方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024040846A1 (zh) * 2022-08-23 2024-02-29 奇安信网神信息技术(北京)股份有限公司 数据处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US11221838B2 (en) Hot update method, operating system, terminal device, system, and computer-readable storage medium for a system process
US9075693B2 (en) Methods for updating applications
US11074083B2 (en) Fast loading kernel image file for booting
CN111563024B (zh) 一种宿主机上监控容器进程的方法、装置及计算设备
US10228954B2 (en) Broadcasting management information using fountain codes
US10628588B2 (en) Information processing apparatus and computer readable storage medium
US8737262B2 (en) Zero copy transmission with raw packets
CN113434205B (zh) 一种操作系统启动方法及计算设备
CN113032032B (zh) 一种系统管理方法、装置、计算设备及可读存储介质
JP2018506784A (ja) 認証された制御スタック
US20130346957A1 (en) Auto-update while running client interface with handshake
CN114398318B (zh) 用户空间文件系统的文件操作方法及用户空间文件系统
US20200012544A1 (en) Optimizing startup time for event-driven functions
EP2839369B1 (en) Information processing device and method for protecting data in a call stack
CN113342475A (zh) 一种服务器集群构建方法、计算设备及存储介质
CN112947976A (zh) 一种操作系统升级方法、计算设备及存储介质
US8874927B2 (en) Application execution system and method of terminal
CN114691226A (zh) 一种多操作系统切换运行方法、计算设备及存储介质
CN113259485B (zh) 一种网络代理方法、计算设备及可读存储介质
CN110647383A (zh) 一种基于docker容器的应用管理方法及计算设备
US11294691B2 (en) Dynamic memory layouts for firmware updates based on OEM memory subsystem
CN106569841B (zh) 一种文件加载方法和装置
WO2022222351A1 (zh) 一种操作系统安装方法及计算设备
EP2680135A1 (en) Methods for updating applications
CN111737089B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200103