[发明专利]一种Docker容器的迁移方法、迁移装置、介质和计算设备有效
申请号: | 201810282071.3 | 申请日: | 2018-04-02 |
公开(公告)号: | CN108762882B | 公开(公告)日: | 2021-12-21 |
发明(设计)人: | 刘长伟 | 申请(专利权)人: | 杭州朗和科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京汉昊知识产权代理事务所(普通合伙) 11370 | 代理人: | 朱海波 |
地址: | 310052 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 docker 容器 迁移 方法 装置 介质 计算 设备 | ||
本发明的实施方式提供一种Docker容器的迁移方法、迁移装置、介质和计算设备。该方法包括:将Docker容器的容器数据的存储位置从映射到源设备切换至映射到目标设备,Docker容器是Docker中用于承载应用的数据和运行环境的基本单位;通过重载指令在目标设备中恢复Docker容器的运行状态,该重载指令用于指示根据存储位置与目标设备之间的映射,将Docker容器的容器数据加载到目标设备内运行的Docker服务进程中。通过本发明的方法实现了Docker容器的容器数据的快速迁移,显著提高了Docker容器在设备间迁移时恢复运行状态的速度。
技术领域
本发明的实施方式涉及软件技术领域,更具体地,本发明的实施方式涉及一种Docker容器的迁移方法、迁移装置、介质和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
轻量级应用容器在云环境中得到了快速发展,以Docker为代表的容器即服务(Containers as a Service,CaaS)技术正在成为云计算的新形式。Docker是一个用于构建、发布和运行应用的应用容器引擎。Docker容器,下文简称容器,是在Docker中用于承载应用的数据以及运行环境的基本单位,也可以理解为对资源进行分割和调度的基本单位。容器具有轻量级、快速部署和管理简单的特点,因此通过Docker服务创建的容器可以更为简单、高效地在运行该Docker服务的设备中构建和发布应用。
Docker服务启动时,通过参数在运行该Docker服务的设备中指定一个用于存储容器的根文件系统信息、配置信息等容器数据的目录,在Docker服务启动后(包括创建容器时)无法更改该目录,这种技术方案,容易因运行该Docker服务的设备例如Docker服务平台出现宕机等异常情况,而造成Docker服务迁移到新设备之后,在原设备运行Docker服务期间的所有容器的容器数据丢失。
Docker服务提供了一种容器卷机制,容器卷是一种可存储容器数据,且在容器关闭的情况下不删除容器数据的目录。在创建容器时,根据指定的卷参数将本地目录或本地文件映射到容器中的指定位置作为该容器的容器卷,也可以先将远端存储先映射到本地目录或本地文件,再根据指定的卷参数将该本地目录或本地文件映射到容器中的指定位置作为容器卷,当该容器删除或关闭时由于该容器的容器卷不会被删除,从而避免了因系统宕机而导致的容器数据丢失。但这种容器卷机制仍存在以下几个问题:其一,需要将容器数据保存到预先配置的容器卷中的指定位置,以避免因容器数据保存到除指定位置之外的地方而造成的容器数据丢失,这会使得改变了用户原有的使用习惯,用户体验差;其二,配置复杂,若容器中存在多个进程,则需要分别配置该容器中的所有进程,以确保该容器的容器数据均存储在指定位置;其三,运行该Docker服务的设备出现宕机等异常情况,在其他设备上重新创建容器时,容器卷机制仅能保证每个容器卷各自存储的容器数据一致,无法保证重新创建的所有容器所属的根目录数据一致。
为了解决上述问题,Docker服务还提供了一种通过配置docker服务的根目录方式来实现容器数据保持的技术方案。在Docker服务启动之前,还可以通过云存储的方式将Docker服务的根目录存储到云盘中,这样发生宕机等异常情况时,可以将存储有该Docker服务的根目录的云盘重新挂载到其他设备上来恢复该Docker服务的根目录,从而使得在其他设备上重新创建容器时,重新创建的所有容器所属的根目录数据一致。但由于Docker服务将所有容器所属的根目录全部存储在同一个云存储中,因此需要将所有容器所属的根目录整体迁移到备用的空闲设备上,实现代价大。并且,迁移完成后,根目录下属的所有容器只能顺序启动,容器启动效率低。
综上,目前Docker服务提供的技术方案中存在用户体验差、容器配置复杂、所有容器所属的根目录的迁移实现代价大以及容器启动效率低等问题,因此均不能较好地实现在运行Docker服务的设备出现宕机等异常情况下的容器迁移。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州朗和科技有限公司,未经杭州朗和科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810282071.3/2.html,转载请声明来源钻瓜专利网。