一种Docker容器启动方法及装置制造方法及图纸

技术编号:16528757 阅读:39 留言:0更新日期:2017-11-09 20:27
本发明专利技术提供一种Docker容器启动方法及装置,在接收到启动容器请求之前,为根据预设规则所选取的基础镜像创建预容器,使相应基础镜像挂载有可写层文件系统;当接收到启动容器请求之后,若已创建的各个预容器中存在与待启动容器所需要的镜像相对应的预容器,则基于该相对应的预容器,启动待启动容器。根据对于基础镜像的适当选取,并为其创建容器启动过程中需要用到的预容器,能够对可能要启动的容器进行预先准备,节约容器的启动时间,加快容器的启动速度。

【技术实现步骤摘要】
一种Docker容器启动方法及装置
本专利技术涉及计算机软件
,尤其涉及一种Docker容器启动方法及装置。
技术介绍
由于Docker镜像采用分层加载的技术,最上层为可读写的层;对于Docker来说,容器可以认为是已经运行过的或正在运行的镜像,即在镜像上添加了改动层。而在容器的实际启动过程中,Docker需要为该层进行虚拟磁盘设备创建、文件系统创建、挂载、运行时配置写入、启动进程等一系列操作,而这一系列的操作将会影响启动容器的速度,导致其启动缓慢。
技术实现思路
有鉴于此,本专利技术提供了一种Docker容器启动方法及装置,以解决现有技术中容器启动缓慢的问题。为实现上述目的,本申请提供的技术方案如下:一种Docker容器启动方法,包括:根据接收的启动容器请求,判断各个预容器中是否存在与待启动容器所需要的镜像相对应的预容器;其中,所述各个预容器是在接收所述启动容器请求之前为根据预设规则选取的各个基础镜像所创建的,使相应基础镜像挂载有可写层文件系统;若所述各个预容器中存在所述相对应的预容器,则基于所述相对应的预容器,启动所述待启动容器。优选的,所述预设规则为:依据使用时间排序,以最近使用的第一预设个数的镜像作为选取对象;和/或,依据下载时间排序,以最近下载的第二预设个数的镜像作为选取对象。优选的,所述各个预容器的创建过程,包括:为所述各个基础镜像分别创建虚拟磁盘设备;在所述虚拟磁盘设备上创建文件系统;将创建好的文件系统以写时复制的方式挂载到相应基础镜像提供的文件系统上,作为所述可写层文件系统。优选的,所述启动所述待启动容器,包括:对所述可写层文件系统进行运行时配置写入操作;及启动进程操作。一种Docker容器启动装置,包括:选取单元,用于根据预设规则选取基础镜像;预容器创建单元,用于在接收启动容器请求之前为所述基础镜像创建预容器,使所述基础镜像挂载有可写层文件系统;判断单元,用于根据接收的所述启动容器请求,判断各个预容器中是否存在与待启动容器所需要的镜像相对应的预容器;启动单元,用于若各个预容器中是否存在所述相对应的预容器,则基于所述相对应的预容器,启动所述待启动容器。优选的,所述预设规则为:依据使用时间排序,以最近使用的第一预设个数的镜像作为选取对象;和/或,依据下载时间排序,以最近下载的第二预设个数的镜像作为选取对象。优选的,所述预容器创建单元用于为所述基础镜像创建预容器时,具体用于:为所述各个基础镜像分别创建虚拟磁盘设备;在所述虚拟磁盘设备上创建文件系统;将创建好的文件系统以写时复制的方式挂载到相应基础镜像提供的文件系统上,作为所述可写层文件系统。优选的,所述启动单元用于启动所述待启动容器时,具体用于:对所述可写层文件系统进行运行时配置写入操作;及启动进程操作。由上述方案可知,本专利技术提供的Docker容器启动方法,在接收到启动容器请求之前,为根据预设规则所选取的基础镜像创建预容器,使相应基础镜像挂载有可写层文件系统;当接收到启动容器请求之后,若已创建的各个预容器中存在与待启动容器所需要的镜像相对应的预容器,则基于该相对应的预容器,启动待启动容器。根据对于基础镜像的适当选取,并为其创建容器启动过程中需要用到的预容器,能够对可能要启动的容器进行预先准备,节约容器的启动时间,加快容器的启动速度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术第一实施例提供的Docker容器启动方法的流程图;图2为本专利技术第一实施例提供的Docker容器启动方法的另一流程图;图3为本专利技术第二实施例提供的Docker容器启动方法的流程图;图4为本专利技术第三实施例提供的Docker容器启动装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供了一种Docker容器启动方法,以解决现有技术中容器启动缓慢的问题。具体的,该Docker容器启动方法,参见图1,包括:S101、根据接收的启动容器请求,判断各个预容器中是否存在与待启动容器所需要的镜像相对应的预容器;其中,各个预容器是在接收启动容器请求之前为各个基础镜像所创建的,以使相应基础镜像挂载有可写层文件系统;而各个基础镜像是根据预设规则选取得到的。也就是说,在接收启动容器请求之前,首先需要根据特定的预设规则选取一部分镜像作为基础镜像;然后,为各个基础镜像创建对应的预容器,也即,采用空间换时间的思路,提前准备好容器启动所需的预容器。值得说明的是,本申请对于选取基础镜像和创建预容器的执行时间并不做具体限定,只要在接收到启动容器请求之前即可;比如在本次容器启动之后,可以立即选取新的基础镜像并创建预容器;或者,也可以根据实际应用环境,在本次容器启动之后到下次执行Docker容器启动方法之间的一定时间段内进行自主设置,此处不再一一赘述,均在本申请的保护范围内。若各个预容器中存在该相对应的预容器,则执行步骤S102;S102、基于该相对应的预容器,启动该待启动容器。当接收到启动容器请求之后,若已创建的各个预容器中存在与该待启动容器所需要的镜像相对应的预容器,则可以利用该预容器,在该预容器的基础之上,启动该待启动容器,同时消耗掉该预容器;也即,在接收到启动容器请求之后,如果检测到与所需镜像相对应的预容器,则直接在该预容器的基础上继续进行启动即可,无需创建预容器的过程。由于在容器启动时消耗了预容器,则下一次容器启动时,还需要再根据选取基础镜像的预设规则生成新的预容器,也即,还需要重新执行该Docker容器启动方法。当然,再次执行该Docker容器启动方法时,选取的基础镜像可能会与上次执行时所选取的基础镜像有所不同,可以根据适当的预设规则进行选取,此处不再赘述。另外,参见图2,若已创建的各个预容器中不存在与待启动容器所需要的镜像相对应的预容器,则执行步骤S103;S103、按照容器启动的基本流程,启动待启动容器。本实施例提供的Docker容器启动方法,可以根据实际应用环境设置该预设算法,以对基础镜像进行适当的选取,并为其创建容器启动过程中需要用到的预容器,进而对可能要启动的容器进行预先准备,节约容器的启动时间,加快容器的启动速度,减小版本升级等情况下的单实例服务中断时间,提高服务的稳定性。本专利技术另一实施例还提供了另外一种Docker容器启动方法,在上一实施例的基础之上,优选的:该预设规则为:依据使用时间排序,以最近使用的第一预设个数的镜像作为选取对象;和/或,依据下载时间排序,以最近下载的第二预设个数的镜像作为选取对象。各个预容器的创建过程,包括:为各个基础镜像分别创建虚拟磁盘设备;在虚拟磁盘设备上创建文件系统;将创建好的文件系统以写时复制的方式挂载到相应基础镜像提供的文件系统上,作为可写层文件系统。步骤S102中的启动待启动本文档来自技高网...
一种Docker容器启动方法及装置

【技术保护点】
一种Docker容器启动方法,其特征在于,包括:根据接收的启动容器请求,判断各个预容器中是否存在与待启动容器所需要的镜像相对应的预容器;其中,所述各个预容器是在接收所述启动容器请求之前为根据预设规则选取的各个基础镜像所创建的,使相应基础镜像挂载有可写层文件系统;若所述各个预容器中存在所述相对应的预容器,则基于所述相对应的预容器,启动所述待启动容器。

【技术特征摘要】
1.一种Docker容器启动方法,其特征在于,包括:根据接收的启动容器请求,判断各个预容器中是否存在与待启动容器所需要的镜像相对应的预容器;其中,所述各个预容器是在接收所述启动容器请求之前为根据预设规则选取的各个基础镜像所创建的,使相应基础镜像挂载有可写层文件系统;若所述各个预容器中存在所述相对应的预容器,则基于所述相对应的预容器,启动所述待启动容器。2.根据权利要求1所述的Docker容器启动方法,其特征在于,所述预设规则为:依据使用时间排序,以最近使用的第一预设个数的镜像作为选取对象;和/或,依据下载时间排序,以最近下载的第二预设个数的镜像作为选取对象。3.根据权利要求1或2所述的Docker容器启动方法,其特征在于,所述各个预容器的创建过程,包括:为所述各个基础镜像分别创建虚拟磁盘设备;在所述虚拟磁盘设备上创建文件系统;将创建好的文件系统以写时复制的方式挂载到相应基础镜像提供的文件系统上,作为所述可写层文件系统。4.根据权利要求1或2所述的Docker容器启动方法,其特征在于,所述启动所述待启动容器,包括:对所述可写层文件系统进行运行时配置写入操作;及启动进程操作。5.一种Docker容器启动装置,其特征在于,...

【专利技术属性】
技术研发人员:赵慰
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1