CN108984268A - Docker系统中容器管理的方法和装置 - Google Patents

Docker系统中容器管理的方法和装置 Download PDF

Info

Publication number
CN108984268A
CN108984268A CN201810769268.XA CN201810769268A CN108984268A CN 108984268 A CN108984268 A CN 108984268A CN 201810769268 A CN201810769268 A CN 201810769268A CN 108984268 A CN108984268 A CN 108984268A
Authority
CN
China
Prior art keywords
image file
container
foundation
foundation image
application
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
CN201810769268.XA
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810769268.XA priority Critical patent/CN108984268A/zh
Publication of CN108984268A publication Critical patent/CN108984268A/zh
Pending legal-status Critical Current

Links

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Facsimiles In General (AREA)

Abstract

本发明公开了一种Docker系统中容器管理的方法和装置。所述方法包括:在接收到建立容器的管理请求后,获取基础镜像文件以及在所述容器中需安装的应用信息,其中所述基础镜像文件为所述容器的操作系统的镜像,且所述操作系统包括最少的应用功能;根据所述基础镜像文件的操作系统,获取所述需安装的应用信息在所述操作系统中对应的安装程序;将所述基础镜像文件和应用的安装程序生成目标镜像文件;利用所述目标镜像文件创建容器。

Description

Docker系统中容器管理的方法和装置
技术领域
本发明涉及信息处理领域,尤指一种Docker系统中容器管理的方法和装置。
背景技术
Docker是开源的一个基于轻量级虚拟化技术的容器引擎项目。它通过分层镜像标准化和内核虚拟化技术,使得应用开发者和运维工程师可以以统一的方式跨平台发布应用,并且以几乎没有额外开销的情况下提供资源隔离的应用运行环境。我们目前知道的云服务是基于操作系统级别的隔离,在同一台物理机器上虚拟多个主机,而Docker的实现是直接将操作系统环境和应用进行移植。
Docker包括三个组件,分别是镜像(image)、容器(container)、仓库(repository)。这三个组件是Docker的原理核心。其中:
镜像是Docker运行容器前需要本地存在对应的镜像,用来创建Docker容器。一个镜像可以包含一个完整的操作系统环境和用户需要的其它应用程序。在docker hub里面有大量现成的镜像提供下载。docker的镜像是只可读的,一个镜像可以创建多个容器。
容器是Docker利用容器来开发、运行应用,是镜像创建的实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
仓库是集中存放镜像文件的场所,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
在实现本发明过程中,发明人发现现有技术中存在如下问题:
在使用镜像创建容器过程中,官方和很多不同版本的镜像不能满足实际使用中变化的使用需求,为管理带来了太大的负担。
发明内容
为了解决上述技术问题,本发明提供了一种Docker系统中容器管理的方法和装置,提供一种新的容器创建流程,方便用户变更容器中的应用。
为了达到本发明目的,本发明提供了一种Docker系统中容器管理的方法,包括:
在接收到建立容器的管理请求后,获取基础镜像文件以及在所述容器中需安装的应用信息,其中所述基础镜像文件为所述容器的操作系统的镜像,且所述操作系统包括最少的应用功能;
根据所述基础镜像文件的操作系统,获取所述需安装的应用信息在所述操作系统中对应的安装程序;
将所述基础镜像文件和应用的安装程序生成目标镜像文件;
利用所述目标镜像文件创建容器。
其中,所述方法还具有如下特点:所述基础镜像文件是通过如下方式获取的:
输出本地预先存储的基础镜像库,其中所述基础镜像库包括至少两个基础镜像文件,其中所述每个基础镜像文件包括所述基础镜像文件的描述信息;
接收根据所述描述信息从所述基础镜像库中选择的结果。
其中,所述方法还具有如下特点:所述利用所述目标镜像文件创建容器之后,所述方法包括:
接收对所述容器运行的应用的调整请求,其中所述调整请求包括增加新的应用、删除已安装的应用或修改已安装的应用;
根据所述调整请求,修改所述容器的配置文件,得到修改后的配置文件;
根据所述修改后的配置文件,对所述容器中加载的镜像文件进行调整。
其中,所述方法还具有如下特点:所述利用所述目标镜像文件创建容器,包括:
调用所述目标镜像文件中基础镜像文件所对应的资源,并申请所述应用的安装程序所需配置的资源;
利用所述基础镜像文件所对应的资源以及安装程序所需配置的资源,加载所述目标镜像文件,完成容器的创建。
其中,所述方法还具有如下特点:所述利用所述目标镜像文件创建容器之后,所述方法还包括:
检测所述基础镜像文件对应的资源是否被释放;
如果所述基础镜像文件对应的资源被释放,记录所述基础镜像文件对应的资源被释放的时长;
当时长达到预先设置的时间阈值时,销毁所述基础镜像文件并回收所述基础镜像文件对应的资源。
一种Docker系统中容器管理的装置,包括:
第一获取模块,用于在接收到建立容器的管理请求后,获取基础镜像文件以及在所述容器中需安装的应用信息,其中所述基础镜像文件为所述容器的操作系统的镜像,且所述操作系统包括最少的应用功能;
第二获取模块,用于根据所述基础镜像文件的操作系统,获取所述需安装的应用信息在所述操作系统中对应的安装程序;
生成模块,用于将所述基础镜像文件和应用的安装程序生成目标镜像文件;
创建模块,用于利用所述目标镜像文件创建容器。
其中,所述装置还具有如下特点所述基础镜像文件是通过如下方式获取的:
输出本地预先存储的基础镜像库,其中所述基础镜像库包括至少两个基础镜像文件,其中所述每个基础镜像文件包括所述基础镜像文件的描述信息;
接收根据所述描述信息从所述基础镜像库中选择的结果。
其中,所述装置还具有如下特点:所述装置包括:
接收模块,用于在利用所述目标镜像文件创建容器之后,接收对所述容器运行的应用的调整请求,其中所述调整请求包括增加新的应用、删除已安装的应用或修改已安装的应用;
修改模块,用于根据所述调整请求,修改所述容器的配置文件,得到修改后的配置文件;
加载模块,用于根据所述修改后的配置文件,对所述容器中加载的镜像文件进行调整。
其中,所述装置还具有如下特点:所述创建模块包括:
处理单元,用于调用所述目标镜像文件中基础镜像文件所对应的资源,并申请所述应用的安装程序所需配置的资源;
创建单元,用于利用所述基础镜像文件所对应的资源以及安装程序所需配置的资源,加载所述目标镜像文件,完成容器的创建。
其中,所述装置还具有如下特点所述装置还包括:
检测模块,用于在利用所述目标镜像文件创建容器之后,检测所述基础镜像文件对应的资源是否被释放;
记录模块,用于如果所述基础镜像文件对应的资源被释放,记录所述基础镜像文件对应的资源被释放的时长;
管理模块,用于当时长达到预先设置的时间阈值时,销毁所述基础镜像文件并回收所述基础镜像文件对应的资源。
本发明提供的实施例,通过获取基础镜像文件以及在所述容器中需安装的应用信息,得到容器的创建需求,再根据所述基础镜像文件的操作系统,获取所述需安装的应用信息在所述操作系统中对应的安装程序,得到创建容器所需的镜像,再将所述基础镜像文件和应用的安装程序生成目标镜像文件,再利用目标镜像文件完成容器创建,提供一种新的容器创建流程,由于容器中的应用与操作系统之间不具有耦合性,方便用户变更容器中的应用,提高了容器的管理效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明提供的Docker系统中容器管理的方法的流程图;
图2为本发明提供的Docker系统中利用镜像创建容器的方法的流程图;
图3为本发明提供的Docker系统中容器管理的装置的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明提供的Docker系统中容器管理的方法的流程图。图1所示方法包括:
步骤101、在接收到建立容器的管理请求后,获取基础镜像文件以及在所述容器中需安装的应用信息,其中所述基础镜像文件为所述容器的操作系统的镜像,且所述操作系统包括最少的应用功能;
步骤102、根据所述基础镜像文件的操作系统,获取所述需安装的应用信息在所述操作系统中对应的安装程序;
步骤103、将所述基础镜像文件和应用的安装程序生成目标镜像文件;
步骤104、利用所述目标镜像文件创建容器。
本发明提供的方法实施例,通过获取基础镜像文件以及在所述容器中需安装的应用信息,得到容器的创建需求,再根据所述基础镜像文件的操作系统,获取所述需安装的应用信息在所述操作系统中对应的安装程序,得到创建容器所需的镜像,再将所述基础镜像文件和应用的安装程序生成目标镜像文件,再利用目标镜像文件完成容器创建,提供一种新的容器创建流程,由于容器中的应用与操作系统之间不具有耦合性,方便用户变更容器中的应用,提高了容器的管理效率。
下面对本发明提供的方法实施例作进一步说明:
本发明的基本构思如下:
1)镜像的制作过程不再是纯命令行形式,提高友好度;
2)搭载软件,工具和深度学习的框架选择多样化和简单化,自主选择然后自动生成相应配置文件然后生成镜像;
3)新的镜像重复利用已有的镜像,不再消耗存储资源,并且常备基础镜像随时复用,提高镜像使用效率;
4)自动删除长时间闲置的镜像,控制好资源的占用以防资源长期占用。
基于上述基础构思,本方案首先能简化镜像的制作过程,其次在镜像的修改和再部署环节都能简化步骤和减少资源的占用,最后可根据客户的需求进行定制载有不同的深度学习的镜像,简化制作容器镜像的流程;减少资源占用;提高用户体验。
其中,所述基础镜像文件是通过如下方式获取的:
输出本地预先存储的基础镜像库,其中所述基础镜像库包括至少两个基础镜像文件,其中所述每个基础镜像文件包括所述基础镜像文件的描述信息;
接收根据所述描述信息从所述基础镜像库中选择的结果。
在实际应用中,将最基本操作环境如centOS,Ubuntu等不同的基础镜像的描述信息输出给用户,如操作系统的图标或功能介绍,方便用户选择,与现有技术中自行输入命令不同,本发明只需选择相应的系统即可完成,简化了用户的操作。
在创建容器完成后,为了满足用户在使用过程中的个性化需要,还可以根据外部的需求,对容器中的应用进行调整,具体如下:
其中,在利用所述目标镜像文件创建容器之后,所述方法包括:
接收对所述容器运行的应用的调整请求,其中所述调整请求包括增加新的应用、删除已安装的应用或修改已安装的应用;
根据所述调整请求,修改所述容器的配置文件,得到修改后的配置文件;
根据所述修改后的配置文件,对所述容器中加载的镜像文件进行调整。
具体的,在容器运行过程中,已安装的应用可能会不符合用户的需求,由于本发明中系统的镜像文件和应用的镜像文件不存在耦合性,在不破坏操作系统文件的基础上,可以动态调整系统中应用,包括增加新的应用、删除已安装的应用或修改已安装的应用。
举例来说,当修改后的配置文件为增加新的应用后,只需要将目标镜像文件的基础上增加符合该操作系统的应用的安装程序即可,即可完成应用的安装,而现有技术中遇到上述情况,往往需要在一台主机上按照该操作系统且安装对应的主机的前提下,再次按照该新应用,然后导出镜像,再进行容器的创建。
通过对比可知,上述手段可以明显简化容器的维护成本,降低操作的负载度,降低管理的负担。
其中,所述利用所述目标镜像文件创建容器,包括:
调用所述目标镜像文件中基础镜像文件所对应的资源,并申请所述应用的安装程序所需配置的资源;
利用所述基础镜像文件所对应的资源以及安装程序所需配置的资源,加载所述目标镜像文件,完成容器的创建。
具体的,为方便调用基础镜像文件进行容器创建,预先可以为基础镜像资源分配对应的资源,在该基础镜像资源被调用后,可以直接使用预先分配的资源,只需针对用户需求设备的应用申请资源即可,方便资源的获取,为创建容器的操作提供方便。
由于为基础镜像文件分配了固定的资源,为保证该部分资源能够得到充分利用,需要检测该资源的使用情况,并根据使用情况对资源进行管理,以保证资源的充分利用。
其中,在利用所述目标镜像文件创建容器之后,所述方法还包括:
检测所述基础镜像文件对应的资源是否被释放;
如果所述基础镜像文件对应的资源被释放,记录所述基础镜像文件对应的资源被释放的时长;
当时长达到预先设置的时间阈值时,销毁所述基础镜像文件并回收所述基础镜像文件对应的资源。
具体的,如果该基础镜像文件的资源被释放后,表示该基础镜像文件不再被使用,可提供给其他容器创建流程使用。为保证存储空间和资源的合理利用,我们可以检测在一段时间内该基础镜像文件是否被用户再次选择,如果被选择使用,获取被使用的次数。根据上述信息,可以判断该基础镜像文件是否有继续存储的必要,如果使用次数过少,表示该基础镜像文件利用率较低,为该基础镜像文件分配的资源同样利用率低,因此,可以销毁基础镜像文件,并回收为该基础镜像文件分配的资源。
通过上述方式,可以有效的维护基础镜像库的存储空间,也能保证基础镜像库的资源能够得到充分利用。
下面以本发明提供的应用实例对本发明提供的方法作进一步说明:
图2为本发明提供的Docker系统中利用镜像创建容器的方法的流程图。图2所示方法包括如下步骤:基础镜像的选择;搭载软件的选择;深度学习框架的选择;镜像修改;镜像再部署;镜像的回收和销毁;载有基本深度学习套件的镜像。
1、基础镜像选择:
提供最基本操作环境如centOS,Ubuntu等不同的基础镜像,用户在选择基础镜像时是从基础镜像库里面挑选,节省网络资源是时间,并在基础镜像选择后,生成镜像的基本配置文件。
2、软件的选择:
可以自主选择相配套的软件和工具,也在基础镜像库里面提供该操作环境下对应的软件,方便选择和安装;如vim,emacs,python,texlive等;
3)深度学习框架的选择:
可以单选亦可以多选,在同一镜像下预装多个框架;提供一些能基本运行深度学习训练任务的镜像。
上述框架是体积小,简易化,可以随时销毁和简单处理。
在根据用户的需求自动添加新的软件和深度学习框架需求,完善配置文件,生成目标镜像文件,用于创建容器;
4、镜像修改:
如在使用中发现缺失某些功能,容器中镜像的修改操作自动生成精简的dockerfile,实现自行修改然后重新提交。
5、镜像的再部署:
根据修改后的新dockerfile,重新拉取镜像,dockerfile中的资源利用经过优化声明,可以再利用之前的已拥有的镜像资源,达到减少资源占用;
6、镜像的回收和销毁:
自动回收不需要的基础镜像以备再次挂载;
通过预先设置的镜像的寿命,来自动回收和销毁长期闲置镜像,对于长时间不利用的镜像进行自动销毁并提前通知用户,实时监控镜像的利用率来动态解决镜像占用资源问题。
本发明应用实例提供的方法,根据用户的需求制作相应镜像,实现对用户需求的定制化开发,同时,借助基础镜像文件和应用的安装程序,实现应用与操作系统之间不具有耦合性,方便用户变更容器中的应用,实现镜像制作的简易化和高可用性,另外,通过检测基础镜像文件的使用频率,实现基础镜像文件的数据和资源能够高效的利用。
图3为本发明提供的Docker系统中容器管理的装置的结构图。图3所示装置,包括:
第一获取模块301,用于在接收到建立容器的管理请求后,获取基础镜像文件以及在所述容器中需安装的应用信息,其中所述基础镜像文件为所述容器的操作系统的镜像,且所述操作系统包括最少的应用功能;
第二获取模块302,用于根据所述基础镜像文件的操作系统,获取所述需安装的应用信息在所述操作系统中对应的安装程序;
生成模块303,用于将所述基础镜像文件和应用的安装程序生成目标镜像文件;
创建模块304,用于利用所述目标镜像文件创建容器。
在本发明提供的一个装置实施例中,所述基础镜像文件是通过如下方式获取的:
输出本地预先存储的基础镜像库,其中所述基础镜像库包括至少两个基础镜像文件,其中所述每个基础镜像文件包括所述基础镜像文件的描述信息;
接收根据所述描述信息从所述基础镜像库中选择的结果。
在本发明提供的一个装置实施例中,所述装置包括:
接收模块,用于在利用所述目标镜像文件创建容器之后,接收对所述容器运行的应用的调整请求,其中所述调整请求包括增加新的应用、删除已安装的应用或修改已安装的应用;
修改模块,用于根据所述调整请求,修改所述容器的配置文件,得到修改后的配置文件;
加载模块,用于根据所述修改后的配置文件,对所述容器中加载的镜像文件进行调整。
在本发明提供的一个装置实施例中,所述创建模块304包括:
处理单元,用于调用所述目标镜像文件中基础镜像文件所对应的资源,并申请所述应用的安装程序所需配置的资源;
创建单元,用于利用所述基础镜像文件所对应的资源以及安装程序所需配置的资源,加载所述目标镜像文件,完成容器的创建。
在本发明提供的一个装置实施例中,所述装置还包括:
检测模块,用于在利用所述目标镜像文件创建容器之后,检测所述基础镜像文件对应的资源是否被释放;
记录模块,用于如果所述基础镜像文件对应的资源被释放,记录所述基础镜像文件对应的资源被释放的时长;
管理模块,用于当时长达到预先设置的时间阈值时,销毁所述基础镜像文件并回收所述基础镜像文件对应的资源。
本发明提供的装置实施例,通过获取基础镜像文件以及在所述容器中需安装的应用信息,得到容器的创建需求,再根据所述基础镜像文件的操作系统,获取所述需安装的应用信息在所述操作系统中对应的安装程序,得到创建容器所需的镜像,再将所述基础镜像文件和应用的安装程序生成目标镜像文件,再利用目标镜像文件完成容器创建,提供一种新的容器创建流程,由于容器中的应用与操作系统之间不具有耦合性,方便用户变更容器中的应用,提高了容器的管理效率。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。

Claims (10)

1.一种Docker系统中容器管理的方法,其特征在于,包括:
在接收到建立容器的管理请求后,获取基础镜像文件以及在所述容器中需安装的应用信息,其中所述基础镜像文件为所述容器的操作系统的镜像,且所述操作系统包括最少的应用功能;
根据所述基础镜像文件的操作系统,获取所述需安装的应用信息在所述操作系统中对应的安装程序;
将所述基础镜像文件和应用的安装程序生成目标镜像文件;
利用所述目标镜像文件创建容器。
2.根据权利要求1所述的方法,其特征在于,所述基础镜像文件是通过如下方式获取的:
输出本地预先存储的基础镜像库,其中所述基础镜像库包括至少两个基础镜像文件,其中所述每个基础镜像文件包括所述基础镜像文件的描述信息;
接收根据所述描述信息从所述基础镜像库中选择的结果。
3.根据权利要求1所述的方法,其特征在于,所述利用所述目标镜像文件创建容器之后,所述方法包括:
接收对所述容器运行的应用的调整请求,其中所述调整请求包括增加新的应用、删除已安装的应用或修改已安装的应用;
根据所述调整请求,修改所述容器的配置文件,得到修改后的配置文件;
根据所述修改后的配置文件,对所述容器中加载的镜像文件进行调整。
4.根据权利要求1至3任一所述的方法,其特征在于,所述利用所述目标镜像文件创建容器,包括:
调用所述目标镜像文件中基础镜像文件所对应的资源,并申请所述应用的安装程序所需配置的资源;
利用所述基础镜像文件所对应的资源以及安装程序所需配置的资源,加载所述目标镜像文件,完成容器的创建。
5.根据权利要求4所述的方法,其特征在于,所述利用所述目标镜像文件创建容器之后,所述方法还包括:
检测所述基础镜像文件对应的资源是否被释放;
如果所述基础镜像文件对应的资源被释放,记录所述基础镜像文件对应的资源被释放的时长;
当时长达到预先设置的时间阈值时,销毁所述基础镜像文件并回收所述基础镜像文件对应的资源。
6.一种Docker系统中容器管理的装置,其特征在于,包括:
第一获取模块,用于在接收到建立容器的管理请求后,获取基础镜像文件以及在所述容器中需安装的应用信息,其中所述基础镜像文件为所述容器的操作系统的镜像,且所述操作系统包括最少的应用功能;
第二获取模块,用于根据所述基础镜像文件的操作系统,获取所述需安装的应用信息在所述操作系统中对应的安装程序;
生成模块,用于将所述基础镜像文件和应用的安装程序生成目标镜像文件;
创建模块,用于利用所述目标镜像文件创建容器。
7.根据权利要求6所述的装置,其特征在于,所述基础镜像文件是通过如下方式获取的:
输出本地预先存储的基础镜像库,其中所述基础镜像库包括至少两个基础镜像文件,其中所述每个基础镜像文件包括所述基础镜像文件的描述信息;
接收根据所述描述信息从所述基础镜像库中选择的结果。
8.根据权利要求6所述的装置,其特征在于,所述装置包括:
接收模块,用于在利用所述目标镜像文件创建容器之后,接收对所述容器运行的应用的调整请求,其中所述调整请求包括增加新的应用、删除已安装的应用或修改已安装的应用;
修改模块,用于根据所述调整请求,修改所述容器的配置文件,得到修改后的配置文件;
加载模块,用于根据所述修改后的配置文件,对所述容器中加载的镜像文件进行调整。
9.根据权利要求6至8任一所述的装置,其特征在于,所述创建模块包括:
处理单元,用于调用所述目标镜像文件中基础镜像文件所对应的资源,并申请所述应用的安装程序所需配置的资源;
创建单元,用于利用所述基础镜像文件所对应的资源以及安装程序所需配置的资源,加载所述目标镜像文件,完成容器的创建。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
检测模块,用于在利用所述目标镜像文件创建容器之后,检测所述基础镜像文件对应的资源是否被释放;
记录模块,用于如果所述基础镜像文件对应的资源被释放,记录所述基础镜像文件对应的资源被释放的时长;
管理模块,用于当时长达到预先设置的时间阈值时,销毁所述基础镜像文件并回收所述基础镜像文件对应的资源。
CN201810769268.XA 2018-07-13 2018-07-13 Docker系统中容器管理的方法和装置 Pending CN108984268A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810769268.XA CN108984268A (zh) 2018-07-13 2018-07-13 Docker系统中容器管理的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810769268.XA CN108984268A (zh) 2018-07-13 2018-07-13 Docker系统中容器管理的方法和装置

Publications (1)

Publication Number Publication Date
CN108984268A true CN108984268A (zh) 2018-12-11

Family

ID=64537280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810769268.XA Pending CN108984268A (zh) 2018-07-13 2018-07-13 Docker系统中容器管理的方法和装置

Country Status (1)

Country Link
CN (1) CN108984268A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951561A (zh) * 2019-03-28 2019-06-28 浙江数值跳跃网络科技有限公司 基于云端容器技术的去中心化基础运行环境管理系统
CN110262873A (zh) * 2019-05-17 2019-09-20 平安科技(深圳)有限公司 容器应用的配置修改方法、装置、计算机设备及存储介质
CN110647383A (zh) * 2019-09-23 2020-01-03 青岛联众智芯科技有限公司 一种基于docker容器的应用管理方法及计算设备
CN110781005A (zh) * 2019-10-25 2020-02-11 新华三大数据技术有限公司 资源回收方法、装置及节点
CN111338641A (zh) * 2020-02-11 2020-06-26 腾讯云计算(北京)有限责任公司 一种应用发布方法及装置
CN111596932B (zh) * 2020-06-22 2021-03-02 腾讯科技(深圳)有限公司 一种镜像文件生成方法、装置和计算机可读存储介质
CN112698873A (zh) * 2020-12-29 2021-04-23 中车大连机车研究所有限公司 一种基于Docker技术的轨道交通用系统运行控制方法及系统
CN112799688A (zh) * 2021-01-18 2021-05-14 中国银联股份有限公司 容器应用内软件包安装方法、装置、计算机设备及介质
US11182193B2 (en) 2019-07-02 2021-11-23 International Business Machines Corporation Optimizing image reconstruction for container registries
CN113760442A (zh) * 2020-10-19 2021-12-07 北京沃东天骏信息技术有限公司 一种应用的运行和访问方法、装置及设备
CN117032739A (zh) * 2023-10-07 2023-11-10 之江实验室 一种镜像生成的方法、系统、存储介质及电子设备
CN117707704A (zh) * 2023-12-20 2024-03-15 慧之安信息技术股份有限公司 一种Java虚拟机配置方法及系统
CN112650478B (zh) * 2021-01-04 2024-03-26 中车青岛四方车辆研究所有限公司 一种嵌入式软件开发平台动态构建方法、系统及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874052A (zh) * 2017-02-24 2017-06-20 北京中电普华信息技术有限公司 一种应用程序的部署方法和装置
WO2017113374A1 (zh) * 2015-12-31 2017-07-06 华为技术有限公司 镜像部署方法和装置
CN107229507A (zh) * 2017-05-31 2017-10-03 郑州云海信息技术有限公司 一种容器镜像构建方法及装置
CN107678756A (zh) * 2017-09-29 2018-02-09 千寻位置网络有限公司 一种基于Docker的Web应用一键发布方法
CN107729034A (zh) * 2017-10-24 2018-02-23 郑州云海信息技术有限公司 一种软件持续集成方法及其装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017113374A1 (zh) * 2015-12-31 2017-07-06 华为技术有限公司 镜像部署方法和装置
CN106874052A (zh) * 2017-02-24 2017-06-20 北京中电普华信息技术有限公司 一种应用程序的部署方法和装置
CN107229507A (zh) * 2017-05-31 2017-10-03 郑州云海信息技术有限公司 一种容器镜像构建方法及装置
CN107678756A (zh) * 2017-09-29 2018-02-09 千寻位置网络有限公司 一种基于Docker的Web应用一键发布方法
CN107729034A (zh) * 2017-10-24 2018-02-23 郑州云海信息技术有限公司 一种软件持续集成方法及其装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951561A (zh) * 2019-03-28 2019-06-28 浙江数值跳跃网络科技有限公司 基于云端容器技术的去中心化基础运行环境管理系统
CN110262873A (zh) * 2019-05-17 2019-09-20 平安科技(深圳)有限公司 容器应用的配置修改方法、装置、计算机设备及存储介质
WO2020232887A1 (zh) * 2019-05-17 2020-11-26 平安科技(深圳)有限公司 容器应用的配置修改方法、装置、计算机设备及存储介质
CN110262873B (zh) * 2019-05-17 2023-07-28 平安科技(深圳)有限公司 容器应用的配置修改方法、装置、计算机设备及存储介质
US11182193B2 (en) 2019-07-02 2021-11-23 International Business Machines Corporation Optimizing image reconstruction for container registries
CN110647383A (zh) * 2019-09-23 2020-01-03 青岛联众智芯科技有限公司 一种基于docker容器的应用管理方法及计算设备
CN110781005A (zh) * 2019-10-25 2020-02-11 新华三大数据技术有限公司 资源回收方法、装置及节点
CN111338641A (zh) * 2020-02-11 2020-06-26 腾讯云计算(北京)有限责任公司 一种应用发布方法及装置
WO2021258951A1 (zh) * 2020-06-22 2021-12-30 腾讯科技(深圳)有限公司 一种镜像文件生成方法、装置和计算机可读存储介质
CN111596932B (zh) * 2020-06-22 2021-03-02 腾讯科技(深圳)有限公司 一种镜像文件生成方法、装置和计算机可读存储介质
US11995453B2 (en) 2020-06-22 2024-05-28 Tencent Technology (Shenzhen) Company Limited Method and apparatus for generating image file and computer-readable storage medium
CN113760442A (zh) * 2020-10-19 2021-12-07 北京沃东天骏信息技术有限公司 一种应用的运行和访问方法、装置及设备
CN112698873A (zh) * 2020-12-29 2021-04-23 中车大连机车研究所有限公司 一种基于Docker技术的轨道交通用系统运行控制方法及系统
CN112650478B (zh) * 2021-01-04 2024-03-26 中车青岛四方车辆研究所有限公司 一种嵌入式软件开发平台动态构建方法、系统及设备
CN112799688A (zh) * 2021-01-18 2021-05-14 中国银联股份有限公司 容器应用内软件包安装方法、装置、计算机设备及介质
CN117032739A (zh) * 2023-10-07 2023-11-10 之江实验室 一种镜像生成的方法、系统、存储介质及电子设备
CN117032739B (zh) * 2023-10-07 2024-01-09 之江实验室 一种镜像生成的方法、系统、存储介质及电子设备
CN117707704A (zh) * 2023-12-20 2024-03-15 慧之安信息技术股份有限公司 一种Java虚拟机配置方法及系统

Similar Documents

Publication Publication Date Title
CN108984268A (zh) Docker系统中容器管理的方法和装置
EP3667500B1 (en) Using a container orchestration service for dynamic routing
US7823023B2 (en) Test framework for testing an application
US20090222504A1 (en) Distributed cross-application server deployment
CN104220987A (zh) 应用安装
US10169222B2 (en) Apparatus and method for expanding the scope of systems management applications by runtime independence
CN105378689A (zh) 统一可扩展固件接口(uefi)驱动器和协议
CN106874028A (zh) 应用部署方法和装置
US10402399B2 (en) Computer implemented system and method for dynamically optimizing business processes
CN109104368B (zh) 一种请求连接方法、装置、服务器及计算机可读存储介质
CN115309562A (zh) 算子调用系统、算子生成方法,电子设备
CN115658237A (zh) 一种容器应用自动部署方法、设备、装置、设备及介质
CN109343970B (zh) 基于应用程序的操作方法、装置、电子设备及计算机介质
CN111651169A (zh) 基于web容器的区块链智能合约运行方法及系统
CN110083366B (zh) 应用运行环境的生成方法、装置、计算设备及存储介质
CN115567526B (zh) 数据监控方法、装置、设备及介质
CN109388770B (zh) Web页面生成方法及装置
CN113835748B (zh) 基于html5的应用程序的打包方法、系统和可读介质
CN115525396A (zh) 基于云原生的应用管理方法及装置
CN112667491B (zh) 虚拟机的功能测试方法及装置
CN114090083B (zh) 一种可视化组件配置方法、装置、设备及存储介质
CN115291928A (zh) 多种技术栈的任务自动集成方法、装置及电子设备
CN114024822A (zh) 基于区块链的物联网设备管理方法、设备、服务器及介质
CN110874214B (zh) 一种功能调用方法、装置、电子设备和存储介质
CN114090242A (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: 20181211