[发明专利]一种Docker容器启动方法及装置有效

专利信息
申请号: 201710537408.6 申请日: 2017-07-04
公开(公告)号: CN107329792B 公开(公告)日: 2020-05-22
发明(设计)人: 赵慰 申请(专利权)人: 北京奇艺世纪科技有限公司
主分类号: G06F9/445 分类号: G06F9/445;G06F9/455
代理公司: 北京集佳知识产权代理有限公司 11227 代理人: 王宝筠
地址: 100080 北京市海淀*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 docker 容器 启动 方法 装置
【说明书】:

发明提供一种Docker容器启动方法及装置,在接收到启动容器请求之前,为根据预设规则所选取的基础镜像创建预容器,使相应基础镜像挂载有可写层文件系统;当接收到启动容器请求之后,若已创建的各个预容器中存在与待启动容器所需要的镜像相对应的预容器,则基于该相对应的预容器,启动待启动容器。根据对于基础镜像的适当选取,并为其创建容器启动过程中需要用到的预容器,能够对可能要启动的容器进行预先准备,节约容器的启动时间,加快容器的启动速度。

技术领域

本发明涉及计算机软件技术领域,尤其涉及一种Docker容器启动方法及装置。

背景技术

由于Docker镜像采用分层加载的技术,最上层为可读写的层;对于Docker来说,容器可以认为是已经运行过的或正在运行的镜像,即在镜像上添加了改动层。

而在容器的实际启动过程中,Docker需要为该层进行虚拟磁盘设备创建、文件系统创建、挂载、运行时配置写入、启动进程等一系列操作,而这一系列的操作将会影响启动容器的速度,导致其启动缓慢。

发明内容

有鉴于此,本发明提供了一种Docker容器启动方法及装置,以解决现有技术中容器启动缓慢的问题。

为实现上述目的,本申请提供的技术方案如下:

一种Docker容器启动方法,包括:

根据接收的启动容器请求,判断各个预容器中是否存在与待启动容器所需要的镜像相对应的预容器;其中,所述各个预容器是在接收所述启动容器请求之前为根据预设规则选取的各个基础镜像所创建的,使相应基础镜像挂载有可写层文件系统;

若所述各个预容器中存在所述相对应的预容器,则基于所述相对应的预容器,启动所述待启动容器。

优选的,所述预设规则为:

依据使用时间排序,以最近使用的第一预设个数的镜像作为选取对象;

和/或,

依据下载时间排序,以最近下载的第二预设个数的镜像作为选取对象。

优选的,所述各个预容器的创建过程,包括:

为所述各个基础镜像分别创建虚拟磁盘设备;

在所述虚拟磁盘设备上创建文件系统;

将创建好的文件系统以写时复制的方式挂载到相应基础镜像提供的文件系统上,作为所述可写层文件系统。

优选的,所述启动所述待启动容器,包括:

对所述可写层文件系统进行运行时配置写入操作;

及启动进程操作。

一种Docker容器启动装置,包括:

选取单元,用于根据预设规则选取基础镜像;

预容器创建单元,用于在接收启动容器请求之前为所述基础镜像创建预容器,使所述基础镜像挂载有可写层文件系统;

判断单元,用于根据接收的所述启动容器请求,判断各个预容器中是否存在与待启动容器所需要的镜像相对应的预容器;

启动单元,用于若各个预容器中是否存在所述相对应的预容器,则基于所述相对应的预容器,启动所述待启动容器。

优选的,所述预设规则为:

依据使用时间排序,以最近使用的第一预设个数的镜像作为选取对象;

和/或,

依据下载时间排序,以最近下载的第二预设个数的镜像作为选取对象。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710537408.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top