CN112631739A - 容器控制方法及装置、介质、计算机设备 - Google Patents

容器控制方法及装置、介质、计算机设备 Download PDF

Info

Publication number
CN112631739A
CN112631739A CN202110253853.6A CN202110253853A CN112631739A CN 112631739 A CN112631739 A CN 112631739A CN 202110253853 A CN202110253853 A CN 202110253853A CN 112631739 A CN112631739 A CN 112631739A
Authority
CN
China
Prior art keywords
container
user
user directory
instruction
directory
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
CN202110253853.6A
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.)
Beijing Century TAL Education Technology Co Ltd
Original Assignee
Beijing Century TAL Education 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 Beijing Century TAL Education Technology Co Ltd filed Critical Beijing Century TAL Education Technology Co Ltd
Priority to CN202110253853.6A priority Critical patent/CN112631739A/zh
Publication of CN112631739A publication Critical patent/CN112631739A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供容器控制方法及装置、介质、计算机设备,其中器控制方法包括:响应于停止运行容器的指令,存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间;等待直至存储所述用户目录结束后,停止所述容器的运行。本申请实施例中的技术方案有利于提升容器运行的效率。

Description

容器控制方法及装置、介质、计算机设备
技术领域
本申请实施例涉及计算机领域,具体涉及容器控制方法及装置、介质、计算机设备。
背景技术
容器技术是一种实现轻量级资源隔离的技术。基于分布式架构的容器技术,可以用于管理云平台中多个主机上的容器化的应用,进行容器集群管理,为用户提供容器服务。这种技术也可以被称为基于容器技术的分布式架构。
在基于容器技术的分布式架构为不同的用户提供容器服务的这种场景下,用户使用容器服务时的效率有待提升。
发明内容
有鉴于此,本申请实施例中提供一种基于分布式架构的容器控制方法,包括:
响应于停止运行容器的指令,存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间;
等待直至存储所述用户目录结束后,停止所述容器的运行。
可选的,所述与运行所述容器的用户相对应的用户目录包括:公共用户目录和私有用户目录;其中,所述公共用户目录与多个用户相对应;所述私有用户目录与一个用户相对应。
可选的,所述存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间包括:存储所述公共用户目录到多个用户共用的公共存储空间,存储所述私有用户目录到相对应的用户的私有存储空间。
可选的,所述存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间的存储方式为压缩存储。
可选的,所述容器外的存储空间包括云端的空间;所述响应于停止运行容器的指令,存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间包括:通过所述停止运行容器的指令触发第一阻塞型事件,由所述第一阻塞型事件触发存储脚本,以压缩存储所述用户目录,所述存储脚本存储于容器外的存储空间。
可选的,所述容器外的存储空间包括云端的存储空间。
可选的,以增量保存的存储方式存储所述用户目录的全部或部分。
可选的,所述以增量保存的存储方式存储所述用户目录的全部或部分包括:
确定所述容器运行后,所述用户目录中发生内容变化的差异目录;
在所述差异目录中确定待保存的文件;
压缩保存所述待保存的文件。
可选的,所述容器控制方法还包括:
响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的所述用户目录;
加载所述用户目录至所述容器;
等待指示所述用户目录加载完毕,运行所述容器。
可选的,所述容器外的存储空间包括云端的空间;
所述响应于停止运行容器的指令,存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间包括:通过所述停止运行容器的指令触发第一阻塞型事件,由所述第一阻塞型事件触发存储脚本,以压缩存储所述用户目录,所述存储脚本存储于所述云端;
所述响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的用户目录包括:通过启动容器的指令触发第二阻塞型事件,由所述第二阻塞型事件触发恢复脚本,以恢复所述云端中存储所述用户目录至所述容器,所述恢复脚本存储于所述云端。
可选的,所述存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间包括:
确定在所述容器运行后,所述用户目录中发生内容变化的差异目录;
在所述差异目录中确定待保存的文件;
压缩保存所述待保存的文件;
所述加载所述用户目录至所述容器包括:
恢复所述用户目录至所述容器;
恢复所述压缩保存的文件至对应的所述用户目录。
本申请实施例还提供一种基于分布式架构的容器控制方法,包括:
响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的用户目录;
加载所述用户目录至所述容器;
等待指示所述用户目录加载完毕,运行所述容器。
可选的,所述用户目录包括公共用户目录和私有用户目录;其中,所述公共用户目录与多个用户相对应;所述私有用户目录与一个用户相对应。
可选的,所述加载所述用户目录至所述容器包括:
从公共存储空间加载所述公共用户目录至所述容器,所述公共存储空间未加密;
从私有存储空间加载所述公共用户目录至所述容器,所述私有存储空间与所述用户相对应,为加密的存储空间。
可选的,所述容器外的存储空间包括云端的空间。
可选的,响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的用户目录包括:通过启动容器的指令触发第二阻塞型事件,由所述第二阻塞型事件触发恢复脚本,以恢复所述容器外存储空间中存储所述用户目录至所述容器,所述恢复脚本存储于所述容器外存储空间。
可选的,所述用户目录中的全部或部分通过增量保存的方式存储;所述响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的用户目录包括:确定以所述增量保存的方式存储的差异文件以及所述差异文件对应基础用户目录,所述基础用户目录是作为所述增量保存的基础的部分所述用户目录;
所述加载所述用户目录至所述容器包括:
恢复所述基础用户目录至所述容器;
恢复所述差异文件至对应的所述基础用户目录。
可选的,所述容器控制方法还包括,若所述容器外的存储空间中未存储有与发出所述启动容器的指令的用户相对应的用户目录,则运行所述容器。
本申请实施例还提供一种基于分布式架构的容器控制装置,包括:
停止指令响应单元,适于响应于停止运行容器的指令,存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间;
停止运行单元,适于等待直至存储所述用户目录结束后,停止所述容器的运行。
可选的,所述与运行所述容器的用户相对应的用户目录包括:公共用户目录和私有用户目录;其中,所述公共用户目录与多个用户相对应;所述私有用户目录与一个用户相对应。
可选的,所述停止指令响应单元,适于存储所述公共用户目录到多个用户共用的公共存储空间,存储所述私有用户目录到相对应的用户的私有存储空间。
可选的,所述停止指令响应单元,适于以压缩存储的方式存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间。
可选的,
所述停止指令响应单元,适于通过所述停止运行容器的指令触发第一阻塞型事件,由所述第一阻塞型事件触发存储脚本,以压缩存储所述用户目录,所述存储脚本存储于所述容器外的存储空间。
可选的,所述容器外的存储空间包括云端的空间;
可选的,所述停止指令响应单元,适于以增量保存的存储方式存储所述用户目录的全部或部分。
可选的,所述停止指令响应单元包括:
差异目录单元,适于确定所述容器运行后,所述用户目录中发生内容变化的差异目录;
待保存文件确定单元,适于在所述差异目录中确定待保存的文件;
文件压缩单元,适于压缩保存所述待保存的文件。
可选的,所述容器控制装置还包括:
启动指令响应单元,适于响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的所述用户目录;
加载单元,适于加载所述用户目录至所述容器;
运行单元,适于等待指示所述用户目录加载完毕,运行所述容器。
可选的,所述容器外的存储空间包括云端的空间;
所述停止指令响应单元,适于通过所述停止运行容器的指令触发第一阻塞型事件,由所述第一阻塞型事件触发的存储脚本,以压缩存储所述用户目录,所述存储脚本存储于所述云端;
所述启动指令响应单元,适于通过启动容器的指令触发第二阻塞型事件,由所述第二阻塞型事件触发恢复脚本,以恢复所述云端中存储所述用户目录至所述容器。
可选的,所述停止指令响应单元包括:
差异目录单元,适于确定在所述容器运行后,所述用户目录中发生内容变化的差异目录;
待保存文件确定单元,在所述差异目录中确定待保存的文件;
文件压缩单元,压缩保存所述待保存的文件;
所述启动指令响应单元包括:
目录恢复单元,适于恢复所述用户目录至所述容器;
文件恢复单元,适于恢复所述压缩保存的文件至对应的所述用户目录。
本申请实施例还提供一种基于分布式架构的容器控制装置,包括:
启动指令响应单元,适于响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的所述用户目录;
加载单元,适于加载所述用户目录至所述容器;
运行单元,适于等待指示所述用户目录加载完毕,运行所述容器。
可选的,所述用户目录包括公共用户目录和私有用户目录;其中,所述公共用户目录与多个用户相对应;所述私有用户目录与一个用户相对应。
可选的,所述加载单元,适于从公共存储空间加载所述公共用户目录至所述容器,所述公共存储空间未加密;从私有存储空间加载所述公共用户目录至所述容器,所述私有存储空间与所述用户相对应,为加密的存储空间。
可选的,所述容器外的存储空间包括云端的空间。
可选的,所述启动指令响应单元,适于通过启动容器的指令触发第二阻塞型事件,由所述第二阻塞型事件触发恢复脚本,以恢复所述容器外存储空间中存储所述用户目录至所述容器。
可选的,所述用户目录中的全部或部分通过增量保存的方式存储;
所述启动指令响应单元,适于确定以所述增量保存的方式存储的差异文件,以及所述差异文件对应基础用户目录,所述基础用户目录是作为所述增量保存的基础的部分所述用户目录;
所述加载单元,包括:
基础用户目录恢复单元,适于恢复所述基础用户目录至所述容器;
差异文件恢复单元,适于恢复所述差异文件至对应的所述基础用户目录。
可选的,所述的容器控制装置还包括:
存储判断单元,适于当所述容器外的存储空间中未存储有与发出所述启动容器的指令的用户相对应的用户目录,运行所述容器。
本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行所述的容器控制方法。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行所述的容器控制方法。
本申请实施例中的技术方案,响应于停止容器运行的指令,存储与运行所述容器的用户相对应的用户目录至容器外的存储空间;等待直至存储所述用户目录结束后,停止所述容器的运行。通过存储于运行所述容器的用户相对应的用户目录至容器外的存储空间,可以在容器停止运行前为该用户保存其运行容器的环境,进而可以为该用户再次启动容器时的环境创建提供数据基础,进一步可以提升容器在此启动时的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例中一种容器控制方法的流程图;
图2为本申请实施例中一种增量保存全部或部分用户目录的方法流程图;
图3为本申请实施例中另一种容器控制方法的流程图;
图4为本申请实施例中另一种容器控制方法的流程图;
图5为本申请实施例中另一种容器控制方法的流程图;
图6为本申请实施例中另一种容器控制方法的流程图;
图7为本申请实施例中一种容器控制装置的结构示意图;
图8为本申请实施例中一种停止指令响应单元的结构示意图;
图9为本申请实施例中另一种容器控制装置的结构示意图;
图10为本申请实施例中另一种容器控制装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如背景技术中所述,容器技术是一种实现轻量级资源隔离的技术。基于容器技术的分布式架构可以为不同的用户提供容器服务。经发明人研究发现,在分布式架构中,用户使用集群时的容器时,需要安装支持其使用的环境。当停止运行容器时,这些环境会被清除。用户再次使用容器服务时,需要重新安装相应的环境。如此,容器服务的效率有待提升。
结合参考图1,本发明实施例提供一种基于分布式架构的容器控制方法,可以包括如下步骤:
步骤S11,响应于停止运行容器的指令,存储与运行所述容器的用户相对应的用户目录至云端;
步骤S12,等待直至存储所述用户目录结束后,停止所述容器的运行。
在具体实施中,停止运行容器的指令可以是当前运行容器的用户发出,或者可也是由云平台根据平台运行或容器调配的需求发出。
在具体实施中,分布式架构的平台可以是多样的,例如,可以是Kubernetes -Docker集群。或者,也可以是其它类型的容器集群,在此不做限定。在不同的平台中,停止运行容器的指令可以是不同的。以Kubernetes-Docker集群为例,通知运行容器的指令可以是用户发送的终止(Terminate)请求。
在本发明实施例中,通过存储与运行所述容器的用户相对应的用户目录至云端,可以为该用户保存其运行容器的环境,为该用户再次启动容器时的环境创建提供数据基础。
在具体实施中,云平台对容器集群进行管理时,可以根据平台的资源情况为用户分配容器,同一用户可以每次运行不同的容器,同一容器也可以由不同用户分时运行。每次停止容器运行时,可以不在容器中保存用户的数据,以提升用户数据的安全性。通过将与运行所述容器的用户相对应的用户目录存储至云端,可以支持同一用户再次启用容器服务时,从云端加载用户目录,而不必重新安装容器的运行环境,进而可以提升容器启动速度,进一步提升容器服务的效率。
在具体实施中,与运行所述容器的用户相对应的用户目录中,可以包括支持用户运行所述容器的环境。具体的,用户目录可以包括公共用户目录和私有用户目录。其中,所述公共用户目录与多个用户相对应;所述私有用户目录与一个用户相对应。
进一步的,公共用户目录中可以存储多支持个用户对容器使用的数据,例如平台提供的工具、事件脚本(例如可以包括本申请中的存储脚本和/或恢复脚本)和/或由平台管理的用户数据等。私有用户目录中的存储内容可以包括用户的私有数据,例如用户安装的软件和/或用户私有的数据等。
在具体实施中,容器以外的其它存储空间,与容器内的存储相对应,并不代表更多限制。容器以外的其它存储空间,可以为云端存储空间。云端可以是从容器的用户的角度看,非用户使用的设备以外的存储空间均可以被称为云端。容器以外的其它存储空间,在硬件角度可以是与容器物理电连接或者通过通信网络进行通信连接的存储空间。
在具体实施中,如前所述,所述与运行所述容器的用户相对应的用户目录包括:公共用户目录和私有用户目录。进一步的,存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间可以包括:存储所述公共用户目录到多个用户共用的公共存储空间,存储所述私有用户目录到相对应的用户的私有存储空间。
更进一步地,可以存储公共用户目录至公有云,存储私有用户目录至私有云。通过存储私有用户目录至私有云,可以提升私有用户目录存储的安全性。在具体实施中,用户目录、公共用户目录以及私有用户目录均包括目录下属的文件。
在具体实施中,可以采用阻塞型指令对用户目录进行存储。在不同的平台环境下,该阻塞型指令可以是不同的。例如,在Kubernetes-Docker集群中,可以通过容器启动回调事件(preStop)进行。具体可以设置该事件触发的内容为存储用户目录至容器外的存储空间,例如云端的挂载盘。进一步的,可以设置由停止运行容器的指令触发该事件,例如,可以设置由前述的Terminate请求触发容器启动回调事件,阻塞容器的关闭,直至存储用户目录结束关闭容器。
在具体实施中,存储用户目录的方式可以是压缩存储。通过压缩存储的方式,可以减少对空间资源的占用。
在具体实施中,容器外的存储空间,可以是容器挂载的挂载盘,该挂载盘可以是云端的挂载盘,可以称作云端挂载盘。可以由停止运行容器的指令触发第一阻塞型事件,在所述云端挂载盘中存储由所述阻塞型事件触发的脚本,也即存储脚本,通过该脚本压缩存储所述用户目录。
可以理解的是,在本申请中,第一、第二并非对阻塞型事件的限制,而仅为对阻塞型事件的应用场景的区分。由停止运行容器的指令触发的阻塞型事件即为第一阻塞型事件,后文中由启动容器的指令触发的阻塞型事件即为第二阻塞型事件。停止运行容器的指令触发的阻塞型事件用于阻塞容器的停止运行,由启动容器的指令触发的阻塞型事件可以用于阻塞容器的启动。
停止运行容器的指令触发的第一阻塞型事件可以是多样的,能够实现阻塞容器关闭,并且能够触发运行存储脚本的事件,均可以作为停止运行容器的指令触发的阻塞型事件。
继续以Kubernetes-Docker集群为例,可以在用户发送的Terminate请求,触发preStop事件,使得容器等待,直至preStop事件完成。preStop事件触发的shell脚本(存储脚本)可以存放在容器的只读挂载盘中。在容器运行结束前,该shell脚本可以对用户目录进行压缩和存储。在用户目录存储结束后,容器停止运行。其中,preStop事件触发的存储脚本可以与目录/axer/.system/preStop中内容一致,具体可以是压缩用户目录的指令。以用户目录的路径为/bin /etc /opt /usr /lib /lib64 /sbin为例,该指令可以是tar -zcvf/home/work/.test/test.tar.gz /bin /etc /opt /usr /lib /lib64 /sbin。
可以理解的是,以上用户目录的路径、存储用户目录的目标路径等仅为举例,并非对本申请中平台以及存储的具体实施手段的限制。在不同的平台下,阻塞型指令可以是不同的。阻塞型事件的执行内容所在的目录可以是不同的。另外,用户目录的存储路径也可以是多样的。
如前所述,在具体实施中,用户目录可以包括公共用户目录和私有用户目录。在以压缩的方式存储用户目录时,可以将公共用户目录压缩存储至公共存储空间,将私有用户目录存储至相对应的用户的私有存储空间。
在具体实施中,可以以增量保存的方式存储用户目录的全部或部分至容器外的存储空间。增量保存的基础,可以是用户启动容器时的用户目录,其可以作为本次运行结束时对应的用户目录中的一部分,作为本次增量保存的基础,可以称为基础用户目录。用户本次启动容器时的用户目录,可以是通过本申请实施例中的方式获取到的,上次同一用户停止容器运行时保存的用户目录,或者也可以是用户为运行容器,在容器启动前建立的用户目录。
在本发明一实施例中,可以对私有用户目录进行增量保存。具体的,可以确定用户此次启动容器运行过程中相较于基础用户目录产生的差异文件,仅保存该差异文件。进一步地,可以先确认用户有修改的目录,进一步确认这些有修改的目录中的差异文件列表,也即在该次容器运行后有变化的文件的列表,保存差异文件列表中的文件。
在具体实施中,增量保存可以是压缩保存。相应的,对有修改的目录的保存可以是压缩保存。在本次增量保存之前进行已保存的公共用户目录可以存储于公有云,私有用户目录可以存储于一私有云。本次增量保存的差异文件,可以存储于与私有用户目录相同或不同的私有云。
通过增量保存的方式,可以减少每次容器停止运行时需要保存的数据量,减少资源占用率。
结合参考图2,在本发明一实施例中,增量保存全部或部分用户目录可以包括如下步骤:
步骤S21,确定所述容器运行后,所述用户目录中发生内容变化的差异目录;
步骤S22,在所述差异目录中确定待保存的文件;
步骤S23,压缩保存所述待保存的文件。
其中,用户目录中发生内容变化的差异目录,可以是相较于已保存的基础用户目录发生变化的差异目录。待保存的文件可以称为差异文件。在具体实施中,可以进一步对用户有修改的目录,也即差异目录进行判断,确定其中需要被保存的目录。如此,可以进一步减少对存储资源的占用。
在本发明一实施例中,可以将压缩保存的脚本(存储脚本)存放至公有云,在私有云中存放容器启动时的私有用户目录,其中包括目录下的原文件。可以在前述私有云或者另一私有云中,存储用户此次容器运行过程中产生的差异文件,也即对所述差异目录进行判断后确定的需要保存的文件。
在具体实施中,在用户上次运行容器结束时,已对用户目录进行过存储的场景中,对相应的用户目录可以基于已存储的基础用户目录进行增量保存。
在具体实施中,增量保存的具体实现方式可以是不同的。以下继续以平台为Kubernetes-Docker集群为例,可以通过容器启动回调事件触发增量存储。具体的,可以通过PreStop回调函数,在容器被终止前调用preStop脚本,通过p-reStop脚本实现增量存储。进一步地,可以通过preStop脚本确定私有用户目录下需要被保存的修改内容,循环对有需要被保存的修改内容的目录使用差异判断指令,得到差异文件列表。例如,将容启动时的用户目录结构命名为sourcePaths,将本次运行中有需要保存的修改的目录记为basePath,则上述差异判断指令在该场景下的具体实现形式可以是:“rsync --dry-run -a --out-format="%n" <basePath> <sourcePath> |grep -v "/$"”。在确定差异文件列表后,可以对差异文件列表采用tar工具打包压缩并存储到前述的私有云中,得到差异文件压缩包。
上述本发明实施例中的容器控制方法,可以用于容器停止运行的阶段,可以在容器停止运行前为运行容器的用户保存其运行容器的环境,为该用户再次启动容器时的运行环境创建提供数据基础。
本发明实施例还提供另一种容器控制方法,可以用于容器启动的阶段,结合参考图3,具体可以包括如下步骤:
步骤S31,响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的用户目录;
步骤S32,加载所述用户目录至所述容器;
步骤S33,等待指示所述用户目录加载完毕,运行所述容器。
在本发明实施例中,响应于启动容器的指令,加载所述用户目录至所述容器,等待指示所述用户目录加载完毕后,运行所述容器,可以使得用户能够基于其过往对容器的环境配置继续运行容器,避免重复操作,提升容器使用的效率。
在本发明实施例中,用于容器启动的阶段的容器控制方法可以与用于容器停止运行的阶段的容器控制方法配套使用。上述容器控制方法涉及的原理、概念以及具体实施方式可以相互参照。故在前述用于容器启动的阶段的容器控制方法中已进行过说明的内容,在此不再赘述。
前述用于容器停止运行阶段的容器控制方法也可以结合其他的可以提供与发出所述启动容器的指令的用户相对应的用户目录方法,在此不做限制。
在具体实施中,启动容器的指令可以是多样的,在不同的平台中,具体的指令可以是不同的。例如,在Kubernetes-Docker集群的应用场景中,启动容器的指令可以是用户发送Start请求。
在具体实施中,可以通过启动容器的指令触发第二阻塞型事件,通过该第二阻塞型事件触发回复用户目录至容器的恢复脚本,该恢复脚本可以判断是否存在待恢复的内容,若存在,则进行恢复,否则运行容器。
例如,在Kubernetes-Docker集群的应用场景中,可以通过其支持的第二阻塞型事件—postStart事件执行对用户目录的恢复,使得在恢复结束后运行容器。具体的,postStart事件的脚本可以首先判断是否存在对应于启动容器的用户目录,若存在,则恢复该用户目录至容器。postStart事件的脚本可以作为本申请中的恢复脚本。进一步的,postStart事件的脚本可以存储于公有云中。
在具体实施中,对于不同的平台,启动容器的指令触发的阻塞型事件可以是不同的,能够阻塞容器启动,并且触发恢复脚本运行的时间,均可以作为启动容器的指令触发的阻塞型。阻塞事件触发的恢复脚本也可以是不同的。
在具体实施中,用户目录可以是已被压缩的,可以解压缩该被压缩的用户目录至容器。
在具体实施中,结合参考图4,在本发明一实施例中,一种容器控制方法可以包括如下步骤:
步骤S41,响应于启动容器的指令,确定以所述增量保存的方式存储的差异文件;
步骤S42,恢复基础用户目录至所述容器,所述基础用户目录为用户前次运行容器结束时进行增量存储的基础;
步骤S43,恢复所述差异文件至对应的所述基础用户目录,得到与前次容器运行结束时对应的用户目录;
步骤S44,等待直至恢复所述用户目录完毕,运行所述容器。
其中,差异文件对应于启动容器的指令的用户,可以存储于云端挂载盘。在具体实施中,差异文件恢复至基础用户目录的过程,是对基础用户目录的进行更新的过程,在恢复完毕后,可以得到与上次用户停止运行容器时的用户目录一致的用户目录。
在具体实施中,用户目录和差异文件可以是以前文所述的任一种方式或者多种方式的结合进行存储的。加载所述用户目录至所述容器的方式可以采用相对应的方式进行恢复。
例如,在具体实施中,差异文件可以是压缩保存的。相应的,在步骤S42的具体实施中,可以解压缩差异文件至相应的用户目录。
在具体实施中,如前文所述,用户目录包括公共用户目录和私有用户目录;其中,所述公共用户目录与多个用户相对应;所述私有用户目录与一个用户相对应。加载所述用户目录至所述容器可以包括:从公共存储空间加载所述公共用户目录至所述容器,所述公共存储空间未加密;从私有存储空间加载所述公共用户目录至所述容器,所述私有存储空间与用户具有对应关系,为加密的存储空间,私密性更强。
如前文所述,用于容器启动的阶段的容器控制方法可以与用于容器停止运行的阶段的容器控制方法配套使用。在具体实施中,二者也可以共同属于同一容器控制方法。
结合参考图5,在本发明实施例中,一种容器控制方法可以包括如下步骤:
步骤S51,响应于停止运行容器的指令,存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间;
步骤S52,等待直至存储所述用户目录结束后,停止所述容器的运行;
步骤S53,响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的所述用户目录;
步骤S54,加载所述用户目录至所述容器;
步骤S55,等待指示所述用户目录加载完毕,运行所述容器。
上述步骤S51和步骤S52的具体实现方式和有益效果,可以对应的参照如图1所示的步骤S11和步骤S12的具体实现方式和有益效果,上述步骤S53至步骤S55的具体实现方式和有益效果,可以对应的参照如图3所示的步骤S31至步骤S33的具体实现方式和有益效果,在此不再赘述。
结合参考图6,在本发明一实施例中,容器控制方法可以包括如下步骤:
步骤S61,等待容器启动请求;
步骤S62,响应于所述器启动请求,判断是否存在与发起该容器启动请求的用户对应的用户目录;若存在所述用户目录,则执行步骤S63,否则执行步骤S64;
步骤S63,触发第二阻塞型事件以恢复所述用户目录至所述容器;
步骤S64,运行所述容器;
步骤S65,等待停止容器运行的请求;
步骤S66,响应于所述停止容器运行的请求,触发第一阻塞型事件以压缩所述用户目录至挂载盘;
步骤S67,等待直至存储所述用户目录结束后,停止所述容器的运行;
步骤S68,等待启动容器的请求。
其中,容器启动的请求可以是前述的启动容器的指令,停止容器运行的请求可以是停止运行容器的指令。
本领域技术人员可以理解的是,本申请中的“在具体实施中”“一实施例中”“例如”等描述意指结合该实施例或示例描述的具体特征、结构或者特点包括于本申请的至少一种实施例或示例中。而且,描述的具体特征、结构或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本申请中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
另外,前述实施例中的流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
本申请实施例中的技术方案中,响应于停止容器运行的指令,存储与运行所述容器的用户相对应的用户目录至云端;等待直至存储所述用户目录结束后,停止所述容器的运行。通过存储于运行所述容器的用户相对应的用户目录至云端,可以为该用户保存其运行容器的环境,为该用户再次启动容器时的环境创建提供数据基础,进而可以提升容器的效率。
另外,通过响应于启动容器的指令,加载所述用户目录至所述容器,等待指示所述用户目录加载完毕后,运行所述容器,可以使得用户能够基于其过往对容器的环境配置继续运行容器,避免重复操作,提升容器使用的效率。
本申请实施例还提供一种基于分布式架构的容器控制装置,结合参考图7,具体可以包括如下单元:
停止指令响应单元71,适于响应于停止运行容器的指令,存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间;
停止运行单元72,适于等待直至存储所述用户目录结束后,停止所述容器的运行。
在具体实施中,所述与运行所述容器的用户相对应的用户目录可以包括:公共用户目录和私有用户目录;其中,所述公共用户目录与多个用户相对应;所述私有用户目录与一个用户相对应。
在具体实施中,所述停止指令响应单71元,适于存储所述公共用户目录到多个用户共用的公共存储空间,存储所述私有用户目录到相对应的用户的私有存储空间。
在具体实施中,所述停止指令响应单元71,适于以压缩存储的方式存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间。
在具体实施中,所述容器外的存储空间可以包括云端的空间。
在具体实施中,所述停止指令响应单元71,适于通过所述停止运行容器的指令触发第一阻塞型事件,由所述第一阻塞型事件触发存储脚本,以压缩存储所述用户目录,所述存储脚本存储于所述容器外的存储空间。
在具体实施中,所述停止指令响应单元71,适于以增量保存的存储方式存储所述用户目录的全部或部分。
结合参考图8,在具体实施中,所述停止指令响应单元可以包括:
差异目录单81,适于确定所述容器运行后,所述用户目录中发生内容变化的差异目录;
待保存文件确定单元82,适于在所述差异目录中确定待保存的文件;
文件压缩单元83,适于压缩保存所述待保存的文件。
结合参考图7和图9,在具体实施中,所述容器控制装置还可以包括:
启动指令响应单元91,适于响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的所述用户目录;
加载单元92,适于加载所述用户目录至所述容器;
运行单元93,适于等待指示所述用户目录加载完毕,运行所述容器。
在具体实施中,所述容器外的存储空间可以包括云端的空间;
所述停止指令响应单元71,适于通过所述停止运行容器的指令触发第一阻塞型事件,由所述第一阻塞型事件触发的存储脚本,以压缩存储所述用户目录,所述存储脚本存储于所述云端;
所述启动指令响应单元91,适于通过启动容器的指令触发第二阻塞型事件,由所述第二阻塞型事件触发恢复脚本,以恢复所述云端中存储所述用户目录至所述容器。
在具体实施中,所述停止指令响应单元71可以包括:
差异目录单元,适于确定在所述容器运行后,所述用户目录中发生内容变化的差异目录;
待保存文件确定单元,在所述差异目录中确定待保存的文件;
文件压缩单元,压缩保存所述待保存的文件;
所述启动指令响应单元91可以包括:
目录恢复单元,适于恢复所述用户目录至所述容器;
文件恢复单元,适于恢复所述压缩保存的文件至对应的所述用户目录。
本申请实施例还提供一种基于分布式架构的容器控制装置,结合参考图10,可以包括以下单元:
启动指令响应单元101,适于响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的所述用户目录;
加载单元102,适于加载所述用户目录至所述容器;
运行单元103,适于等待指示所述用户目录加载完毕,运行所述容器。
上述各单元的具体实现方式,可以与图9中相应单元的实现方式相同或类似,在此不再赘述。可以理解的是,图10所示的装置,可以结合图7中所示的装置配套使用,或者,也可以与其他可以提供相应的用户目录的装置配套使用。
在具体实施中,所述用户目录可以包括公共用户目录和私有用户目录;其中,所述公共用户目录与多个用户相对应;所述私有用户目录与一个用户相对应。
在具体实施中,所述加载单元102,适于从公共存储空间加载所述公共用户目录至所述容器,所述公共存储空间未加密;从私有存储空间加载所述公共用户目录至所述容器,所述私有存储空间与所述用户相对应,为加密的存储空间。
在具体实施中,所述容器外的存储空间可以包括云端的空间。
在具体实施中,所述启动指令响应单元101,适于通过启动容器的指令触发第二阻塞型事件,由所述第二阻塞型事件触发恢复脚本,以恢复所述容器外存储空间中存储所述用户目录至所述容器。
在具体实施中,所述用户目录中的全部或部分通过增量保存的方式存储;
所述启动指令响应单元,适于确定以所述增量保存的方式存储的差异文件,以及所述差异文件对应基础用户目录,所述基础用户目录是作为所述增量保存的基础的部分所述用户目录;
所述加载单元102,可以包括:
基础用户目录恢复单元,适于恢复所述基础用户目录至所述容器;
差异文件恢复单元,适于恢复所述差异文件至对应的所述基础用户目录。
在具体实施中,所述的容器控制装置还可以包括:
存储判断单元104,适于当所述容器外的存储空间中未存储有与发出所述启动容器的指令的用户相对应的用户目录,运行所述容器。
本申请实施例中的容器控制装置以及容器控制装置所描述的各个单元,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机程序。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
并且,所述的各个功能模块可以集成在一个处理部件中,也可以是各个模块单独物理存在,也可以两个或两个以上功能模块集成在一个部件中。上述集成的部件既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的部件如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
本申请实施例还提供一种计算机设备,可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行所述的容器控制方法。
所述计算机设备包括但不限于:服务器、台式机、智能手机、笔记本电脑、平板电脑、智能手环、智能手表、其它智能设备或其中任意一种或多种的多个设备通信连接构成的分布式处理***。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行所述的容器控制方法。
即,上述本申请实施例中的容器控制方法可被实现为可存储在记录介质(诸如CDROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的容器控制方法。此外,当通用计算机访问用于实现在此示出的容器控制方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的学容器控制方法的专用计算机。
虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请实施例的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。

Claims (38)

1.一种基于分布式架构的容器控制方法,其特征在于,包括:
响应于停止运行容器的指令,存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间;
等待直至存储所述用户目录结束后,停止所述容器的运行。
2.根据权利要求1所述的容器控制方法,其特征在于,所述与运行所述容器的用户相对应的用户目录包括:公共用户目录和私有用户目录;其中,所述公共用户目录与多个用户相对应;所述私有用户目录与一个用户相对应。
3.根据权利要求2所述的容器控制方法,其特征在于,所述存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间包括:存储所述公共用户目录到多个用户共用的公共存储空间,存储所述私有用户目录到相对应的用户的私有存储空间。
4.根据权利要求1所述的容器控制方法,其特征在于,所述存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间的存储方式为压缩存储。
5.根据权利要求1所述的容器控制方法,其特征在于,所述响应于停止运行容器的指令,存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间包括:通过所述停止运行容器的指令触发第一阻塞型事件,由所述第一阻塞型事件触发存储脚本,以压缩存储所述用户目录,所述存储脚本存储于所述容器外的存储空间。
6.根据权利要求1所述的容器控制方法,其特征在于,所述容器外的存储空间包括云端的空间。
7.根据权利要求1所述的容器控制方法,其特征在于,以增量保存的存储方式存储所述用户目录的全部或部分。
8.根据权利要求7所述的容器控制方法,其特征在于,所述以增量保存的存储方式存储所述用户目录的全部或部分包括:
确定所述容器运行后,所述用户目录中发生内容变化的差异目录;
在所述差异目录中确定待保存的文件;
压缩保存所述待保存的文件。
9.根据权利要求1所述的容器控制方法,其特征在于,还包括:
响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的所述用户目录;
加载所述用户目录至所述容器;
等待指示所述用户目录加载完毕,运行所述容器。
10.根据权利要求9所述的容器控制方法,其特征在于,所述容器外的存储空间包括云端的空间;
所述响应于停止运行容器的指令,存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间包括:通过所述停止运行容器的指令触发第一阻塞型事件,由所述第一阻塞型事件触发存储脚本,以压缩存储所述用户目录,所述存储脚本存储于所述云端;
所述响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的用户目录包括:通过启动容器的指令触发第二阻塞型事件,由所述第二阻塞型事件触发恢复脚本,以恢复所述云端中存储所述用户目录至所述容器,所述恢复脚本存储于所述云端。
11.根据权利要求9所述的容器控制方法,其特征在于,所述存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间包括:
确定在所述容器运行后,所述用户目录中发生内容变化的差异目录;
在所述差异目录中确定待保存的文件;
压缩保存所述待保存的文件;
所述加载所述用户目录至所述容器包括:
恢复所述用户目录至所述容器;
恢复所述压缩保存的文件至对应的所述用户目录。
12.一种基于分布式架构的容器控制方法,其特征在于,包括:
响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的用户目录;
加载所述用户目录至所述容器;
等待指示所述用户目录加载完毕,运行所述容器。
13.根据权利要求12所述的容器控制方法,其特征在于,所述用户目录包括公共用户目录和私有用户目录;其中,所述公共用户目录与多个用户相对应;所述私有用户目录与一个用户相对应。
14.根据权利要求13所述的容器控制方法,其特征在于,所述加载所述用户目录至所述容器包括:
从公共存储空间加载所述公共用户目录至所述容器,所述公共存储空间未加密;
从私有存储空间加载所述公共用户目录至所述容器,所述私有存储空间与所述用户相对应,为加密的存储空间。
15.根据权利要求12所述的容器控制方法,其特征在于,响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的用户目录包括:通过启动容器的指令触发第二阻塞型事件,由所述第二阻塞型事件触发恢复脚本,以恢复所述容器外的存储空间中存储所述用户目录至所述容器,所述恢复脚本存储于所述容器外的存储空间。
16.根据权利要求12所述的容器控制方法,其特征在于,所述容器外的存储空间包括云端的空间。
17.根据权利要求12所述的容器控制方法,其特征在于,所述用户目录中的全部或部分通过增量保存的方式存储;所述响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的用户目录包括:确定以所述增量保存的方式存储的差异文件以及所述差异文件对应基础用户目录,所述基础用户目录是作为所述增量保存的基础的部分所述用户目录;
所述加载所述用户目录至所述容器包括:
恢复所述基础用户目录至所述容器;
恢复所述差异文件至对应的所述基础用户目录。
18.根据权利要求12所述的容器控制方法,其特征在于,还包括,若所述容器外的存储空间中未存储有与发出所述启动容器的指令的用户相对应的用户目录,则运行所述容器。
19.一种基于分布式架构的容器控制装置,其特征在于,包括:
停止指令响应单元,适于响应于停止运行容器的指令,存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间;
停止运行单元,适于等待直至存储所述用户目录结束后,停止所述容器的运行。
20.根据权利要求19所述的容器控制装置,其特征在于,所述与运行所述容器的用户相对应的用户目录包括:公共用户目录和私有用户目录;其中,所述公共用户目录与多个用户相对应;所述私有用户目录与一个用户相对应。
21.根据权利要求20所述的容器控制装置,所述停止指令响应单元,适于存储所述公共用户目录到多个用户共用的公共存储空间,存储所述私有用户目录到相对应的用户的私有存储空间。
22.根据权利要求19所述的容器控制装置,其特征在于,所述停止指令响应单元,适于以压缩存储的方式存储与运行所述容器的用户相对应的用户目录到所述容器外的存储空间。
23.根据权利要求19所述的容器控制装置,其特征在于,所述停止指令响应单元,适于通过所述停止运行容器的指令触发第一阻塞型事件,由所述第一阻塞型事件触发存储脚本,以压缩存储所述用户目录,所述存储脚本存储于所述容器外的存储空间。
24.根据权利要求19所述的容器控制装置,其特征在于,所述容器外的存储空间包括云端的空间。
25.根据权利要求19所述的容器控制装置,其特征在于,所述停止指令响应单元,适于以增量保存的存储方式存储所述用户目录的全部或部分。
26.根据权利要求25所述的容器控制装置,其特征在于,所述停止指令响应单元包括:
差异目录单元,适于确定所述容器运行后,所述用户目录中发生内容变化的差异目录;
待保存文件确定单元,适于在所述差异目录中确定待保存的文件;
文件压缩单元,适于压缩保存所述待保存的文件。
27.根据权利要求19所述的容器控制装置,其特征在于,还包括:
启动指令响应单元,适于响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的所述用户目录;
加载单元,适于加载所述用户目录至所述容器;
运行单元,适于等待指示所述用户目录加载完毕,运行所述容器。
28.根据权利要求27所述的容器控制装置,其特征在于,所述容器外的存储空间包括云端的空间;
所述停止指令响应单元,适于通过所述停止运行容器的指令触发第一阻塞型事件,由所述第一阻塞型事件触发的存储脚本,以压缩存储所述用户目录,所述存储脚本存储于所述云端;
所述启动指令响应单元,适于通过启动容器的指令触发第二阻塞型事件,由所述第二阻塞型事件触发恢复脚本,以恢复所述云端中存储所述用户目录至所述容器。
29.根据权利要求27所述的容器控制装置,其特征在于,所述停止指令响应单元包括:
差异目录单元,适于确定在所述容器运行后,所述用户目录中发生内容变化的差异目录;
待保存文件确定单元,在所述差异目录中确定待保存的文件;
文件压缩单元,压缩保存所述待保存的文件;
所述启动指令响应单元包括:
目录恢复单元,适于恢复所述用户目录至所述容器;
文件恢复单元,适于恢复所述压缩保存的文件至对应的所述用户目录。
30.一种基于分布式架构的容器控制装置,其特征在于,包括:
启动指令响应单元,适于响应于启动容器的指令,从所述容器外的存储空间确定与发出所述启动容器的指令的用户相对应的所述用户目录;
加载单元,适于加载所述用户目录至所述容器;
运行单元,适于等待指示所述用户目录加载完毕,运行所述容器。
31.根据权利要求30所述的容器控制装置,其特征在于,所述用户目录包括公共用户目录和私有用户目录;其中,所述公共用户目录与多个用户相对应;所述私有用户目录与一个用户相对应。
32.根据权利要求31所述的基于分布式架构的容器控制装置,其特征在于,所述加载单元,适于从公共存储空间加载所述公共用户目录至所述容器,所述公共存储空间未加密;从私有存储空间加载所述公共用户目录至所述容器,所述私有存储空间与所述用户相对应,为加密的存储空间。
33.根据权利要求30所述的容器控制装置,其特征在于,所述启动指令响应单元,适于通过启动容器的指令触发第二阻塞型事件,由所述第二阻塞型事件触发恢复脚本,以恢复所述容器外的存储空间存储所述用户目录至所述容器。
34.根据权利要求30所述的容器控制装置,其特征在于,所述容器外的存储空间包括云端的空间。
35.根据权利要求30所述的容器控制装置,其特征在于,所述用户目录中的全部或部分通过增量保存的方式存储;
所述启动指令响应单元,适于确定以所述增量保存的方式存储的差异文件,以及所述差异文件对应基础用户目录,所述基础用户目录是作为所述增量保存的基础的部分所述用户目录;
所述加载单元,包括:
基础用户目录恢复单元,适于恢复所述基础用户目录至所述容器;
差异文件恢复单元,适于恢复所述差异文件至对应的所述基础用户目录。
36.根据权利要求30所述的容器控制装置,其特征在于,还包括:
存储判断单元,适于当所述容器外的存储空间中未存储有与发出所述启动容器的指令的用户相对应的用户目录,运行所述容器。
37.一种计算机设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至11中任一项所述的容器控制方法,或执行权利要求12至18中任一项所述的容器控制方法。
38.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序运行时执行权利要求1至11中任一项所述的容器控制方法,或执行权利要求12至18中任一项所述的容器控制方法。
CN202110253853.6A 2021-03-09 2021-03-09 容器控制方法及装置、介质、计算机设备 Pending CN112631739A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110253853.6A CN112631739A (zh) 2021-03-09 2021-03-09 容器控制方法及装置、介质、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110253853.6A CN112631739A (zh) 2021-03-09 2021-03-09 容器控制方法及装置、介质、计算机设备

Publications (1)

Publication Number Publication Date
CN112631739A true CN112631739A (zh) 2021-04-09

Family

ID=75297742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110253853.6A Pending CN112631739A (zh) 2021-03-09 2021-03-09 容器控制方法及装置、介质、计算机设备

Country Status (1)

Country Link
CN (1) CN112631739A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108170777A (zh) * 2017-12-26 2018-06-15 郑州云海信息技术有限公司 一种分布式文件***
CN110083490A (zh) * 2019-04-29 2019-08-02 浙江豪联信息科技有限公司 一种数据库备份方法、还原方法以及存储介质
CN111263933A (zh) * 2017-09-30 2020-06-09 甲骨文国际公司 部署的容器平台中的实时调试实例
CN111279314A (zh) * 2017-09-30 2020-06-12 甲骨文国际公司 利用微服务容器在多租户api网关中提供租户隔离
CN112015438A (zh) * 2020-07-29 2020-12-01 烽火通信科技股份有限公司 一种基于Ansible的轻量级容器化分布式***与部署方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111263933A (zh) * 2017-09-30 2020-06-09 甲骨文国际公司 部署的容器平台中的实时调试实例
CN111279314A (zh) * 2017-09-30 2020-06-12 甲骨文国际公司 利用微服务容器在多租户api网关中提供租户隔离
CN108170777A (zh) * 2017-12-26 2018-06-15 郑州云海信息技术有限公司 一种分布式文件***
CN110083490A (zh) * 2019-04-29 2019-08-02 浙江豪联信息科技有限公司 一种数据库备份方法、还原方法以及存储介质
CN112015438A (zh) * 2020-07-29 2020-12-01 烽火通信科技股份有限公司 一种基于Ansible的轻量级容器化分布式***与部署方法

Similar Documents

Publication Publication Date Title
EP3299957B1 (en) Performing live updates to file system volumes
US8924954B2 (en) Application software installation method and application software installation apparatus
EP2765508A1 (en) Installation method and installation device for application software
CN104866365B (zh) 提升开机速度的方法、装置及电子设备
CN113282377B (zh) 无服务器架构下的代码加载方法、设备、***及存储介质
JP6749677B2 (ja) リアルタイムファイル変更検知基盤の自動バックアップ装置
CN113626286A (zh) 多集群实例处理方法、装置、电子设备及存储介质
CN113590169B (zh) 应用部署方法、应用部署***和计算机可读存储介质
CN111400105A (zh) 数据库备份方法及装置
CN111240892A (zh) 数据备份方法及装置
CN110209525B (zh) 操作***还原方法及装置
CN116450287A (zh) 业务容器存储容量的管理方法、装置、设备及可读介质
CN112214250B (zh) 一种应用程序组件的加载方法和装置
CN113641640B (zh) 用于流式计算***的数据处理方法、装置、设备和介质
CN110620798A (zh) Ftp连接的控制方法、***、设备和存储介质
CN111190878B (zh) 一种共享访问nas快照的方法、装置、设备及存储介质
CN112416245A (zh) 一种基于多架构容器云平台的存储卷管理方法及相关组件
CN112631739A (zh) 容器控制方法及装置、介质、计算机设备
CN111431951B (zh) 一种数据处理方法、节点设备、***及存储介质
US7350065B2 (en) Method, apparatus and program storage device for providing a remote power reset at a remote server through a network connection
CN109995590A (zh) 一种用户自定义设备数据处理服务托管方法
CN1474268A (zh) 服务绑定***及方法
CN110795113B (zh) 一种Redis集群服务的安装方法、服务器和介质
CN108848136B (zh) 一种云服务集群的共享存储方法
CN113094211B (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