一种Docker容器的迁移方法、迁移装置、介质和计算设备制造方法及图纸

技术编号:19341339 阅读:22 留言:0更新日期:2018-11-07 13:36
本发明专利技术的实施方式提供一种Docker容器的迁移方法、迁移装置、介质和计算设备。该方法包括:将Docker容器的容器数据的存储位置从映射到源设备切换至映射到目标设备,Docker容器是Docker中用于承载应用的数据和运行环境的基本单位;通过重载指令在目标设备中恢复Docker容器的运行状态,该重载指令用于指示根据存储位置与目标设备之间的映射,将Docker容器的容器数据加载到目标设备内运行的Docker服务进程中。通过本发明专利技术的方法实现了Docker容器的容器数据的快速迁移,显著提高了Docker容器在设备间迁移时恢复运行状态的速度。

Migration method, migration device, medium and computing device of Docker container

The embodiments of the present invention provide a migration method, a migration device, a medium and a computing device of a Docker container. The method includes: switching the storage location of container data of Docker container from mapping to source device to mapping to target device, Docker container is the basic unit of data and running environment used to carry application in Docker; restoring the running state of Docker container in target device by overloading instruction, which is used to refer to Represents loading the container data of the Docker container into the Docker service process running within the target device according to the mapping between the storage location and the target device. The method of the invention realizes the fast migration of container data of Docker container, and remarkably improves the speed of restoring the running state of Docker container during the migration between devices.

【技术实现步骤摘要】
一种Docker容器的迁移方法、迁移装置、介质和计算设备
本专利技术的实施方式涉及软件
,更具体地,本专利技术的实施方式涉及一种Docker容器的迁移方法、迁移装置、介质和计算设备。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。轻量级应用容器在云环境中得到了快速发展,以Docker为代表的容器即服务(ContainersasaService,CaaS)技术正在成为云计算的新形式。Docker是一个用于构建、发布和运行应用的应用容器引擎。Docker容器,下文简称容器,是在Docker中用于承载应用的数据以及运行环境的基本单位,也可以理解为对资源进行分割和调度的基本单位。容器具有轻量级、快速部署和管理简单的特点,因此通过Docker服务创建的容器可以更为简单、高效地在运行该Docker服务的设备中构建和发布应用。Docker服务启动时,通过参数在运行该Docker服务的设备中指定一个用于存储容器的根文件系统信息、配置信息等容器数据的目录,在Docker服务启动后(包括创建容器时)无法更改该目录,这种技术方案,容易因运行该Docker服务的设备例如Docker服务平台出现宕机等异常情况,而造成Docker服务迁移到新设备之后,在原设备运行Docker服务期间的所有容器的容器数据丢失。Docker服务提供了一种容器卷机制,容器卷是一种可存储容器数据,且在容器关闭的情况下不删除容器数据的目录。在创建容器时,根据指定的卷参数将本地目录或本地文件映射到容器中的指定位置作为该容器的容器卷,也可以先将远端存储先映射到本地目录或本地文件,再根据指定的卷参数将该本地目录或本地文件映射到容器中的指定位置作为容器卷,当该容器删除或关闭时由于该容器的容器卷不会被删除,从而避免了因系统宕机而导致的容器数据丢失。但这种容器卷机制仍存在以下几个问题:其一,需要将容器数据保存到预先配置的容器卷中的指定位置,以避免因容器数据保存到除指定位置之外的地方而造成的容器数据丢失,这会使得改变了用户原有的使用习惯,用户体验差;其二,配置复杂,若容器中存在多个进程,则需要分别配置该容器中的所有进程,以确保该容器的容器数据均存储在指定位置;其三,运行该Docker服务的设备出现宕机等异常情况,在其他设备上重新创建容器时,容器卷机制仅能保证每个容器卷各自存储的容器数据一致,无法保证重新创建的所有容器所属的根目录数据一致。为了解决上述问题,Docker服务还提供了一种通过配置docker服务的根目录方式来实现容器数据保持的技术方案。在Docker服务启动之前,还可以通过云存储的方式将Docker服务的根目录存储到云盘中,这样发生宕机等异常情况时,可以将存储有该Docker服务的根目录的云盘重新挂载到其他设备上来恢复该Docker服务的根目录,从而使得在其他设备上重新创建容器时,重新创建的所有容器所属的根目录数据一致。但由于Docker服务将所有容器所属的根目录全部存储在同一个云存储中,因此需要将所有容器所属的根目录整体迁移到备用的空闲设备上,实现代价大。并且,迁移完成后,根目录下属的所有容器只能顺序启动,容器启动效率低。综上,目前Docker服务提供的技术方案中存在用户体验差、容器配置复杂、所有容器所属的根目录的迁移实现代价大以及容器启动效率低等问题,因此均不能较好地实现在运行Docker服务的设备出现宕机等异常情况下的容器迁移。
技术实现思路
本专利技术实施例提供一种Docker容器的迁移方法、迁移装置、介质和计算设备,用以解决目前Docker服务提供的技术方案均不能较好地实现运行Docker服务的设备出现宕机等异常情况下的容器迁移的问题。通过本专利技术的方法实现了Docker容器的容器数据的快速迁移,显著提高了Docker容器在设备间迁移时恢复运行状态的速度。为此,非常需要一种改进的Docker容器的迁移方法,以较好地实现在运行Docker服务的设备出现宕机等异常情况下的Docker容器的迁移。在本专利技术实施方式的第一方面中,提供了一种Docker容器的迁移方法,包括:将Docker容器的容器数据的存储位置从映射到源设备切换至映射到目标设备,通过重载指令在目标设备中恢复Docker容器的运行状态,其中,Docker容器是Docker中用于承载应用的数据和运行环境的基本单位,重载指令用于指示根据存储位置与目标设备之间的映射,将Docker容器的容器数据加载到目标设备内运行的Docker服务进程中。在本专利技术的一个实施例中,还包括通过如下方法来配置Docker容器:针对源设备内运行的Docker服务进程中加载的每个Docker容器,为Docker容器配置指示参数,指示参数用于指示Docker容器的容器数据的存储位置;将配置的指示参数保存在Docker服务的文件系统驱动中,Docker服务的文件系统驱动用于指示Docker容器的创建方法;使用Docker容器的文件系统驱动指示的创建方法来创建Docker容器。在本专利技术的另一实施例中,源设备内运行的Docker服务进程中加载有多个Docker容器,多个Docker容器与多个存储位置一一对应。在此请况下,将Docker容器的容器数据的存储位置从映射到源设备切换至映射到目标设备,包括:可以将多个存储位置与源设备之间的映射,分别切换至多个存储位置与多个目标设备之间的映射,且每个存储位置均对应一个目标设备。在本专利技术的又一个实施例中,通过重载指令在目标设备中恢复Docker容器的运行状态,包括:若在多个目标设备中存在多个存储位置与多个目标设备之间的映射,并且多个Docker容器并未处于运行状态,则根据多个存储位置与多个目标设备之间的映射,在多个目标设备中并行恢复多个Docker容器的运行状态。在本专利技术的再一个实施例中,Docker容器的容器数据包括以下之一或组合:Docker容器的根目录、Docker容器的配置信息、Docker容器的运行数据。存储位置包括以云盘为接口的远端服务器。在本专利技术实施方式的第二方面中,提供了一种Docker容器的迁移装置,包括:切换单元,用于将Docker容器的容器数据的存储位置从映射到源设备切换至映射到目标设备,Docker是一种用于构建、发布和运行应用的应用容器引擎,Docker容器是Docker中用于承载应用的数据和运行环境的基本单位;重载单元,用于通过重载指令在目标设备中恢复Docker容器的运行状态;其中,重载指令用于指示根据存储位置与目标设备之间的映射,将Docker容器的容器数据加载到目标设备内运行的Docker服务进程中。在本专利技术的一个实施例中,迁移装置还包括配置单元,该配置单元用于:针对源设备内运行的Docker服务进程中加载的每个Docker容器,为Docker容器配置指示参数,指示参数用于指示Docker容器的容器数据的存储位置;将配置的指示参数保存在Docker服务的文件系统驱动中,Docker服务的文件系统驱动用于指示Docker容器的创建方法;使用Docker容器的文件系统驱动指示的创建方法来创建Docker容器。在本专利技术的另一个实施例中,源设备内运行的Docker服务进程中加载有多个Dock本文档来自技高网
...

【技术保护点】
1.一种Docker容器的迁移方法,其特征在于,包括:将Docker容器的容器数据的存储位置从映射到源设备切换至映射到目标设备,Docker是一种用于构建、发布和运行应用的应用容器引擎,所述Docker容器是所述Docker中用于承载应用的数据和运行环境的基本单位;通过重载指令在所述目标设备中恢复所述Docker容器的运行状态;其中,所述重载指令用于指示根据所述存储位置与所述目标设备之间的映射,将所述Docker容器的容器数据加载到所述目标设备内运行的Docker服务进程中。

【技术特征摘要】
1.一种Docker容器的迁移方法,其特征在于,包括:将Docker容器的容器数据的存储位置从映射到源设备切换至映射到目标设备,Docker是一种用于构建、发布和运行应用的应用容器引擎,所述Docker容器是所述Docker中用于承载应用的数据和运行环境的基本单位;通过重载指令在所述目标设备中恢复所述Docker容器的运行状态;其中,所述重载指令用于指示根据所述存储位置与所述目标设备之间的映射,将所述Docker容器的容器数据加载到所述目标设备内运行的Docker服务进程中。2.如权利要求1所述的方法,其特征在于,通过如下方法来配置所述Docker容器,还包括:针对所述源设备内运行的Docker服务进程中加载的每个Docker容器,为所述Docker容器配置所述指示参数,所述指示参数用于指示所述Docker容器的容器数据的存储位置;将配置的所述指示参数保存在Docker服务的文件系统驱动中,所述Docker服务的文件系统驱动用于指示所述Docker容器的创建方法;使用所述Docker容器的文件系统驱动指示的创建方法来创建所述Docker容器。3.如权利要求1所述的方法,其特征在于,所述源设备内运行的Docker服务进程中加载有多个Docker容器,所述多个Docker容器与多个存储位置一一对应;所述将Docker容器的容器数据的存储位置从映射到源设备切换至映射到目标设备,包括:将所述多个存储位置与所述源设备之间的映射,分别切换至所述多个存储位置与所述多个目标设备之间的映射,且每个所述存储位置均对应一个所述目标设备。4.如权利要求3所述的方法,其特征在于,所述通过重载指令在所述目标设备中恢复所述Docker容器的运行状态,包括:若在所述多个目标设备中存在所述多个存储位置与所述多个目标设备之间的映射,并且所述多个Docker容器并未处于运行状态,则根据所述多个存储位置与所述多个目标设备之间的映射,在所述多个目标设备中并行恢复所述...

【专利技术属性】
技术研发人员:刘长伟
申请(专利权)人:杭州朗和科技有限公司
类型:发明
国别省市:浙江,33

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

1