CN107436794A - 容器图像管理系统及方法 - Google Patents
容器图像管理系统及方法 Download PDFInfo
- Publication number
- CN107436794A CN107436794A CN201710377064.7A CN201710377064A CN107436794A CN 107436794 A CN107436794 A CN 107436794A CN 201710377064 A CN201710377064 A CN 201710377064A CN 107436794 A CN107436794 A CN 107436794A
- Authority
- CN
- China
- Prior art keywords
- container
- image
- container image
- storage
- engine
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/1827—Management specifically adapted to NAS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Processing Or Creating Images (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明公开一种容器图像管理系统及方法。根据本发明的一实施例的容器图像管理系统包括:远程存储装置,存储并管理容器图像;容器引擎,挂载存储于所述远程存储装置的所述容器图像存储区域,并从挂载的所述图像存储区域读取所述容器图像而生成容器;本地存储装置,存储所生成的所述容器的读写层(Read‑Write Layer)。
Description
技术领域
本发明的实施例涉及一种在容器服务运营环境下管理容器图像的技术。
背景技术
最近,在应用程序的开发和部署中,容器(container)的应用在急速增加。并且,用于在多个节点(node)运用多个容器的编排(orchestration)技术的应用也在增加。
对容器服务(container service)而言,容器的图像(image)是最重要的管理对象之一。但是,对于以往的容器图像运用及管理技术而言,不仅存储装置资源的浪费较多,而且在安全方面也存在漏洞。因此,需要一种用于有效地管理容器图像的方案。
[现有技术文献]
[专利文献]
韩国公开专利公报第10-2015-0109692号(2015.10.02)
发明内容
本发明的实施例的目的在于提供一种能够减少存储并运用容器图像时所需要的存储装置资源的消耗的有效的容器图像管理方案。
并且,本发明的实施例的目的在于提供一种能够提高容器图像的安全性的容器图像管理方案。
根据示例性实施例,提供如下的容器图像管理系统,包括:远程存储装置,存储并管理容器图像;容器引擎,挂载存储于所述远程存储装置的所述容器图像存储区域,并从挂载的所述图像存储区域读取所述容器图像而生成容器;本地存储装置,存储所生成的所述容器的读写层(Read-Write Layer)。
所述容器引擎可以以只读形式挂载所述图像存储区域。
所述容器图像管理系统还可以包括:图像管理器,执行针对存储于所述远程存储装置的所述容器图像的生成、修改及删除中的一个以上。
所述图像管理器可以基于所述容器图像的修改请求来向所述远程存储装置请求生成所述容器图像的副本,并利用所生成的所述容器图像的副本而生成针对所述容器图像的副本的修改版。
在所述图像管理器生成针对所述容器图像的副本的修改版的情况下,所述远程存储装置可以用针对所述容器图像的副本的修改版代替所述容器图像,并向所述容器引擎请求容器的重启,所述容器引擎可以基于所述容器引擎的重启请求来读取被代替的所述容器图像,从而重启所述容器。
所述图像管理器可以对与存储于所述远程存储装置的所述容器图像对应的名称及标签信息进行管理。
所述容器图像管理系统还可以包括:图像注册表,存储有存储于所述远程存储装置的所述容器图像的原始版本;验证服务器,存储并管理所述容器图像的原始版本所对应的验证值。
所述图像管理器可以利用所述验证服务器而进行针对存储于所述图像注册表的所述容器图像的原始版本的完整性的验证,并可以基于所述完整性的验证的成功,将所述容器图像的原始版本复制到所述远程存储装置。
根据其他示例性实施例,提供如下的容器图像管理方法,包括如下步骤:在容器引擎,挂载存储有容器图像的远程存储装置的容器图像存储区域;在所述容器引擎,从被挂载的所述图像存储区域读取所述容器图像而生成容器;以及在所述容器引擎,将所生成的所述容器的读写层存储到本地存储装置。
所述挂载的步骤可以构成为:以只读形式挂载所述图像存储区域。
所述方法可以在执行所述存储的步骤之后,还可以包括如下的步骤:在图像管理器,修改存储于所述远程存储装置的所述容器图像。
在所述修改的步骤中,向所述远程存储装置请求生成所述容器图像的副本,并利用所生成的所述容器图像的副本来生成针对所述容器图像的副本的修改版。
在所述图像管理器生成针对所述容器图像的副本的修改版的情况下,所述远程存储装置可以用针对所述容器图像的副本的修改版代替所述容器图像,并向所述容器引擎请求容器的重启,所述容器引擎基于所述容器引擎的重启请求来读取被代替的所述容器图像,从而重启所述容器。
在进行所述挂载的步骤之前,还可以包括以下步骤:在图像管理器,进行针对存储于图像注册表的所述容器图像的原始版本的完整性的验证;以及基于所述完整性的验证的成功,在所述图像管理器将所述容器图像的原始版本复制到所述远程存储装置。
所述图像管理器可以从存储及管理对应于所述容器图像的原始版本的验证值的验证服务器获取所述容器图像的原始版本的验证值,并利用获取的所述验证值而进行对于所述容器图像的原始版本的完整性验证。
根据本发明的实施例,通过对容器图像的集中控制(Centralized Control),可以减少存储并运用容器图像时所需要的存储装置资源的消耗,并且可以防止容器图像的伪造而提高图像的安全性。
附图说明
图1是用于说明根据本发明的一实施例的容器图像的示意图。
图2是用于说明根据本发明的一实施例的从容器图像生成的容器的示意图。
图3是用于说明根据本发明的一实施例的容器图像管理系统的框图。
图4是用于说明根据本发明的一实施例的容器引擎与远程存储装置以及本地存储装置连接的状态的示意图。
图5是用于说明根据本发明的一实施例的在图像管理器修改存储于远程存储装置的容器图像的过程的示意图。
图6是用于说明根据本发明的一实施例的容器图像管理系统的初始化过程的流程图。
图7是用于说明根据本发明的一实施例的在容器图像管理系统生成容器的过程的流程图。
图8是用于说明根据本发明的一实施例的在容器图像管理系统验证容器图像的完整性的过程的流程图。
图9是用于将包括适合用于示例性实施例的计算装置的计算环境举例说明的框图。
符号说明
300:容器图像管理系统 302:协调器
304:远程存储装置 306:容器运用节点
308:图像管理器 310:图像注册表
312:容器引擎 314:本地存储装置
316:验证服务器
具体实施方式
以下,参考附图而对本发明的具体实施方式进行说明。以下的详细说明是为了有助于全面理解本说明书中记载的方法、装置和/或系统而提供的。然而,这仅仅局限于是示例,本发明并不局限于此。
在对本发明的实施例进行说明的过程中,如果判断为对有关本发明的公知技术的具体说明有可能对本发明的主旨造成不必要的混乱,则省略其详细说明。另外,后述的术语均为考虑到本发明中的功能而定义的术语,其可能根据使用者、运用者的意图或惯例等而不同。因此,需要以贯穿本说明书整体的内容为基础而对其下定义。在详细说明中使用的术语只用于记载本发明的实施例而并非旨在限定本发明。除非明确不同地使用,单数形态的表述包括复数形态的含义。在本说明书中,“包括”或“具有”之类的术语用于指代某种特性、数字、步骤、操作、要素及其一部分或组合,不应被解释为排除所记载项之外的一个或一个以上的其他特性、数字、步骤、操作、要素及其一部分或组合的存在或可存在性。
图1是用于说明根据本发明的一实施例的容器图像的示意图。在本发明的实施例中,容器表示将应用程序以及驱动应用程序所需的附属物,如库(library)、系统工具、运行环境(runtime environment)等一起封装而提供的软件提供技术。这种容器不包括操作系统的内盒(kernel),因此相比于以往的虚拟机(virtual machine)而具有快、敏捷且使用更少的资源的优点。容器与容器图像之间的关系如同进程(process)与执行文件之间的关系。换言之,在构成容器的各个构成要素静态存储于存储装置内的情况下,将其称为容器图像(container image),而且如果该容器图像被加载到实际存储器而成为进程状态,则将其称为容器。
在本发明的实施例中,容器图像由多个层(layer)构成。例如,如图1所示,容器图像A构成为包括层a、层b、层c及层d。并且,容器图像B包括层a、层b及层c,容器图像C构成为包括基层a、层f及层g。构成图像的多个层在图像成为容器的过程中利用联合文件系统(Union Filesystem)等而合并成一个文件系统。
如同层a,存在于图像的最下端的层通常被称为基层(base layer)。基层包括如根文件系统(root filesystem)等在驱动容器时所需的所有要素,因此消耗较大量的存储装置资源。尤其,基层包括非常多的大小较小的文件,因此相比于普通的数据而言,相对于块的大小的索引节点(inode)的消耗较多。对于索引节点而言,其大部分的大小在格式化文件系统时被确定,因此除非有非常特殊的情形,否则无法在系统运营过程中改变它。
如图1所示,各个容器图像可以共同使用相同的层。例如,层a在图像A、B、C中都被共同地使用,层b在图像A和B中被共同地使用。
图2是用于说明根据本发明的一实施例的从容器图像生成的容器的示意图。在图示的示意图中,示出了从图像A生成容器A:1以及A:2,从图像B生成容器B:1,从图像C生成容器C:1的示例。如图所示,可以从一个容器图像生成一个以上的容器。并且,如图2所示,从图像生成的容器各自在最上端包括读写层(R/W Layer)。读写层是用于存储在该容器生成或使用的数据的层。
在相同节点生成多个容器的情况下,各个容器所共同使用的层可以通过绑定挂载(bind mount)而作为共用的层使用。例如,在生成容器A:1之后生成容器A:2的情况下,构成A:2的层中的除了最上端的读写层以外的其余层,从容器A:1以只读(Read Only)形式绑定挂载,从而作为共用的层使用。同样,在生成容器B:1的情况下,层a及层b从容器A:1以只读(Read Only)形式绑定挂载,从而作为共用的层使用,并且只有层e及读写层在实际存储装置内生成。即,只有图2中用斜线表示的层使用实际存储装置资源。
图3是用于说明根据本发明的一实施例的容器图像管理系统300的框图。根据本发明的一实施例的容器图像管理系统300是如下的系统:存储并管理容器图像,并从此生成一个以上的容器而运用。如图所示,根据本发明的一实施例的容器图像管理系统300包括协调器(Orchestrator)302、远程存储装置304以及多个容器运用节点306。
协调器302管理多个容器运用节点306,并能够实现通过各个容器运用节点306而使一个以上的容器被生成及驱动。一实施例中,协调器302向各个容器运用节点发送容器执行请求(request),接收该请求的容器运用节点利用被请求的容器的图像而生成对应的容器。并且,在特定容器运用节点306发生异常而使得在对应节点执行中的容器的操作停止的情况下,协调器302执行利用可用的其他节点而使停止的容器再次被执行的失效转移(failover)功能。
远程存储装置304存储并管理一个以上的容器图像。并且,远程存储装置304根据容器运用节点306的请求而将所述容器图像提供给容器运用节点306。
在从协调器302接收容器执行请求的情况下,多个容器运用节点306利用存储于远程存储装置304的容器图像而生成所请求的容器。在图示的实施例中,示出了包括N个容器运用节点306-1、306-2、...、306-N的示例,但是本发明不限于特定数量的容器运用节点。在本发明的实施例中,多个容器运用节点306各自包括容器引擎312及本地存储装置(LocalStorage)314。
容器引擎312在挂载存储于远程存储装置304的容器图像存储区域之后,从挂载的图像存储区域读取容器图像而生成容器。在本发明的实施例中,容器引擎312构成为挂载远程存储装置304的容器图像存储区域而直接执行存储于远程存储装置304的容器图像,而不是从远程存储装置304下载容器图像。为此,远程存储装置302可通过本地文件系统接口(native filesystem interface)而非HTTP/HTTPS等协议来连接到各个容器运用节点306。这种本地文件系统接口体现在操作系统内核内的驱动层,其具有中间人(man in themiddle)伪造数据的风险相对较小的优点。
另外,在本发明的实施例中,多个容器引擎312挂载一个远程存储装置304的图像存储区域。因此,远程存储装置304的图像存储区域可以挂载到一个以上的容器引擎312。在此情况下,为了防止容器图像由于容器引擎312而改变,各个容器引擎312可以构成为以只读(read-only)形式挂载图像存储区域。
本地存储装置314存储由容器引擎312生成的容器的读写层(Read-Write Layer)。即,在本发明的实施例中,本地存储装置314仅存储容器的最上端层而并非存储用于生成容器的图像整体。
图4是用于说明根据本发明的一实施例的容器引擎312与远程存储装置304以及本地存储装置314连接的状态的示意图。如上所述,根据本发明实施例,容器图像只存储于远程存储装置304,且本地存储装置314存储所生成的容器的读写层。因此,各个容器运用节点306无须存储并管理容器图像的副本,因此可以有效地管理本地存储装置314的存储装置,并且可以防止容器图像在各个容器运用节点306被伪造。
另外,根据本发明的一实施例的容器引擎312可以以混合形态工作。例如,容器引擎312可以构成为在独立模式(standalone mode)及集群模式(cluster mode)中的任意一个模式下工作。当容器引擎312在独立模式下工作时,容器引擎312可以从远程存储装置304下载容器图像而存储到本地存储装置314,并利用存储于本地存储装置314的容器图像而驱动容器。并且,当容器引擎312在集群模式下工作时,容器引擎312如上所述地利用容器运用节点306的存储装置驱动而将远程存储装置304挂载到节点的虚拟文件系统,并从远程存储装置304直接读取容器图像而驱动容器。
根据本发明的一实施例的容器图像管理系统300还可以包括图像管理器308、图像注册表(Registry)310及验证服务器316。
图像管理器308执行针对存储于远程存储装置304的容器图像的生成、修改及删除中的一个以上的操作。
图5是用于说明根据本发明的一实施例的在图像管理器308修改存储于远程存储装置304的容器图像的过程的示意图。
在管理员等请求容器图像的修改的情况下,图像管理器308首先获得对于相应容器图像的锁(lock)。为此,图像管理器308向远程存储装置304请求生成修改对象容器图像的副本,并利用根据所述请求而生成的图像的副本来执行图像的修改作业(即,生成针对容器图像的副本的修改版)。如图4所示,在本发明的实施例中,图像的修改利用容器图像的副本而执行,而非利用实际容器图像执行,因此图像修改作业不会给当前运用中的容器带来影响。即,在图4中,由图像管理器308的图像修改不会给在容器运用节点1 306-1以及节点2306-2生成的容器带来影响。
在图像管理器308生成针对所述容器图像的副本的修改版的情况下(即,完成修改的情况下),远程存储装置304利用修改的所述容器图像的副本(即,针对容器图像的副本的修改版)来代替所述容器图像,并对使用所述相应容器图像的各个节点请求容器重启。在图4的示例中,远程存储装置304向容器运用节点1 306-1以及节点2 306-2的容器引擎312-1、312-2请求容器的重启。据此,接收到所述请求的容器引擎312-1、312-2读取被代替的修改以及被代替的所述容器图像而重启容器。
另外,图像管理器308对与存储于远程存储装置304的容器图像对应的名称及标签信息进行管理。存储于远程存储装置304的各个图像具有唯一的识别信息(unique ID),但是在实际运用时,各个图像可以因各种理由而对各个识别信息附上名称及标签信息(Name:Tag)而重新命名(alias)。通常,名称根据对应的图像所执行的功能而被命名,标签可以构成为显示该图像的版本。在本发明的一实施例中,可以由图像管理器308一并管理各个容器图像的名称及标签信息,从而防止名称/标签信息的重复或者误匹配(mismatching)。
然后,图像注册表310是供存储于远程存储装置304的容器图像的原始版本存储的存储装置。并且,验证服务器316将存储并管理存储于图像注册表310的图像原始版本的验证值。此时,对应于所述图像原始版本的验证值可以是所述图像原始版本的哈希值。
为了将存储于注册表310的图像的原始版本复制到远程存储装置304,图像管理器308首先进行针对所述图像原始版本的完整性的验证(integrity check)。首先,图像管理器308从图像注册表310获取所述图像原始版本,并获取针对所述原始版本的完整性的验证值(如,针对图像原始版本的哈希值)。此后,图像管理器308将所述验证值与预存储于验证服务器316中的验证值进行比较,而在它们一致的情况下判断为验证成功,完成完整性的验证之后,图像管理器308将从图像注册表310获取的图像原始版本存储到远程存储装置304。
图6是用于说明根据本发明的一实施例的容器图像管理系统300的初始化过程的流程图600。图示的流程图假设容器引擎312在集群模式下被运用。
在步骤602中,容器引擎312向协调器302发送连接请求。
在步骤604中,协调器302认证容器引擎312而接受容器引擎312的连接。
在步骤606中,协调器302向连接的容器引擎312发送图像管理器308的信息。所述图像管理器信息可以是图像管理器308的网络内连接信息。
在步骤608中,容器引擎312利用接收的信息而连接到图像管理器308,并向图像管理器308请求远程存储装置304的信息。
在步骤610中,图像管理器308将接收的远程存储装置信息请求传递至远程存储装置304。
在步骤612中,远程存储装置304根据所述请求而将远程存储装置308的信息发送到图像管理器308,并在步骤614中,图像管理器308将接收的信息传递至容器引擎312。所述远程存储装置信息可以包括远程存储装置的连接信息以及挂载点(point)信息。
在步骤616中,容器引擎312利用接收的信息而挂载远程存储装置304的图像存储区域。
图7是用于说明根据本发明的一实施例的在容器图像管理系统300生成容器的过程的流程图700。
在步骤702中,协调器302向容器引擎312请求容器的生成。
在步骤704中,接收所述请求的容器引擎312从被挂载的远程存储装置304的图像存储区域读取容器图像。
在步骤706中,容器引擎312利用容器图像而生成容器。
在步骤708中,容器引擎312将所生成的容器的读写层存储到本地存储装置314。
图8是用于说明根据本发明的一实施例的在容器图像管理系统300验证容器图像的完整性的过程的流程图800。
在步骤802中,图像管理器308从图像注册表310获取容器图像原始版本。
在步骤804中,图像管理器308从验证服务器316获取对应于所述容器图像的验证值。
在步骤806中,图像管理器308比较从容器图像原始版本计算的验证值以及从验证服务器316获取的验证值而执行针对容器图像原始版本的完整性的验证。
在步骤808中,当完成完整性的验证时,图像管理器308将从注册表310获取的图像原始版本存储到远程存储装置304。
图9是用于举例说明包括适合用于示例性实施例的计算装置的计算环境10的框图。在图示的实施例中,各个组件可以具有除了以下记载的内容以外的不同的功能及能力,并且除了以下记载的内容以外还可以包括额外的组件。
图示的计算环境10包括计算装置12。在一实施例中,计算装置12可以是构成容器图像管理系统300的各个要素,如协调器302、远程存储装置304、容器运用节点306、图像管理器308、图像注册表310或者验证服务器316。计算装置12包含至少一个处理器14、计算机可读存储介质16以及通信总线(bus)18。处理器14可使计算装置12根据上文中所提到的示例性的实施例而操作。例如,处理器14可执行存储于计算机可读存储介质16的一个以上的程序。所述一个以上的程序可以包含一个以上的计算机可执行指令,所述计算机可执行指令可构成为:在由处理器14来执行的情况下,使计算装置12执行根据示例性的实施例的操作。
计算机可读存储介质16以能够存储计算机可执行指令乃至程序代码、程序数据和/或其他适合的形式的信息的方式构成。存储于计算机可读存储介质16中的程序20包含可由处理器14执行的指令集。在一实施例中,计算机可读存储介质16可以是存储器(随机存取存储器等易失性存储器、非易失性存储器或者这些存储器的适当的组合)、一个以上的磁盘存储设备、光盘存储设备、闪速存储设备、除此之外的可由计算装置12访问并能够存储所期望的信息的其他形式的存储介质或者这些的适当的组合。
通信总线18用于将包括处理器14、计算机可读存储介质16的计算装置12的其他多样的组件相互连接。
计算装置12还可以包含提供用于一个以上的输入输出装置24的接口的一个以上的输入输出接口22以及一个以上的网络通信接口26。输入输出接口22以及网络通信接口26连接到通信总线18。输入输出装置24可以通过输入输出接口22而连接到计算装置12的其他组件。示例性的输入输出装置24可以包括:指点装置(鼠标或者触控板(track pad)等)、键盘、触摸输入装置(触摸板或者触摸屏等)、语音或者声音输入装置、多样的种类的传感器装置和/或拍摄装置等的输入装置;和/或诸如显示装置、打印机、扬声器和/或网卡(networkcard)等的输出装置。示例性的输入输出装置24可以作为用于构成计算装置12的一组件而被包含在计算装置12的内部,也可以作为区别于计算装置12的独立的装置而连接到计算装置102。
另外,本发明的实施例可以包括用于在计算机上执行本说明书中记载的方法的程序以及包括所述程序的计算机可读记录介质。所述计算机可读记录介质可以单独地或者组合地包括程序命令、本地数据文件、本地数据结构等。所述介质可以是为本发明而特别地设计并构成的介质,或者可以是在计算机软件领域上通常能够被使用的介质。计算机可读记录介质的示例包括:磁介质,如硬盘、软盘以及磁带等;光记录介质,如CD-ROM、DVD等;以及ROM、RAM、闪存等为了储存并执行程序命令而特别地构成的硬件装置。作为所述程序的示例,不仅包括如可利用编译器编制的机器代码,还可以包括可利用解释器等而由计算机执行的高级语言代码。
以上,对本发明的具有代表性的实施例进行了详细的说明,然而在本发明所属的技术领域中具有基本知识的人员可以理解上述的实施例可在不脱离本发明的范围的限度内实现多种变形。因此,本发明的权利范围不应局限于上述的实施例,本发明的权利范围需要根据权利要求书的范围以及与该权利要求书的范围均等的范围来确定。
Claims (15)
1.一种容器图像管理系统,其中,包括:
远程存储装置,存储并管理容器图像;
容器引擎,挂载存储于所述远程存储装置的所述容器图像存储区域,并从挂载的所述图像存储区域读取所述容器图像而生成容器;
本地存储装置,存储所生成的所述容器的读写层。
2.如权利要求1所述的容器图像管理系统,其中,
所述容器引擎以只读形式挂载所述图像存储区域。
3.如权利要求1所述的容器图像管理系统,其中,还包括:
图像管理器,执行针对存储于所述远程存储装置的所述容器图像的生成、修改及删除中的一个以上。
4.如权利要求3所述的容器图像管理系统,其中,
所述图像管理器基于所述容器图像的修改请求来向所述远程存储装置请求生成所述容器图像的副本,并利用所生成的所述容器图像的副本而生成针对所述容器图像的副本的修改版。
5.如权利要求4所述的容器图像管理系统,其中,
在所述图像管理器生成针对所述容器图像的副本的修改版的情况下,所述远程存储装置用针对所述容器图像的副本的修改版代替所述容器图像,并向所述容器引擎请求容器的重启,
所述容器引擎基于所述容器引擎的重启请求来读取被代替的所述容器图像,从而重启所述容器。
6.如权利要求3所述的容器图像管理系统,其中,
所述图像管理器对与存储于所述远程存储装置的所述容器图像对应的名称及标签信息进行管理。
7.如权利要求3所述的容器图像管理系统,其中,还包括:
图像注册表,存储有存储于所述远程存储装置的所述容器图像的原始版本;
验证服务器,存储并管理所述容器图像的原始版本所对应的验证值。
8.如权利要求7所述的容器图像管理系统,其中,
所述图像管理器利用所述验证服务器而进行针对存储于所述图像注册表的所述容器图像的原始版本的完整性的验证,
并基于所述完整性的验证的成功,将所述容器图像的原始版本复制到所述远程存储装置。
9.一种容器图像管理方法,包括以下步骤:
在容器引擎,挂载存储有容器图像的远程存储装置的容器图像存储区域;
在所述容器引擎,从被挂载的所述图像存储区域读取所述容器图像而生成容器;以及
在所述容器引擎,将所生成的所述容器的读写层存储到本地存储装置。
10.如权利要求9所述的容器图像管理方法,其中,
所述挂载的步骤构成为:以只读形式挂载所述图像存储区域。
11.如权利要求9所述的容器图像管理方法,其中,
在执行所述存储的步骤之后,还包括如下的步骤:
在图像管理器,修改存储于所述远程存储装置的所述容器图像。
12.如权利要求11所述的容器图像管理方法,其中,
在所述修改的步骤中,
向所述远程存储装置请求生成所述容器图像的副本,并利用所生成的所述容器图像的副本来生成针对所述容器图像的副本的修改版。
13.如权利要求11所述的容器图像管理方法,其中,
在所述图像管理器生成针对所述容器图像的副本的修改版的情况下,所述远程存储装置用针对所述容器图像的副本的修改版代替所述容器图像,并向所述容器引擎请求容器的重启,
所述容器引擎基于所述容器引擎的重启请求来读取被代替的所述容器图像,从而重启所述容器。
14.如权利要求9所述的容器图像管理方法,其中,
在进行所述挂载的步骤之前,还包括以下步骤:
在图像管理器,进行针对存储于图像注册表的所述容器图像的原始版本的完整性的验证;以及
基于所述完整性的验证的成功,在所述图像管理器将所述容器图像的原始版本复制到所述远程存储装置。
15.如权利要求14所述的容器图像管理方法,其中,
所述图像管理器从用于存储并管理对应于所述容器图像的原始版本的验证值的验证服务器获取所述容器图像的原始版本的验证值,
并利用所获取的所述验证值来进行针对所述容器图像的原始版本的完整性的验证。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0064152 | 2016-05-25 | ||
KR1020160064152A KR20170133120A (ko) | 2016-05-25 | 2016-05-25 | 컨테이너 이미지 관리 시스템 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107436794A true CN107436794A (zh) | 2017-12-05 |
Family
ID=60417955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710377064.7A Pending CN107436794A (zh) | 2016-05-25 | 2017-05-25 | 容器图像管理系统及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10656845B2 (zh) |
KR (1) | KR20170133120A (zh) |
CN (1) | CN107436794A (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8412945B2 (en) * | 2011-08-09 | 2013-04-02 | CloudPassage, Inc. | Systems and methods for implementing security in a cloud computing environment |
US10210322B2 (en) | 2015-05-18 | 2019-02-19 | Aqua Security Software, Ltd. | Method and apparatus for applying application context security controls for software containers |
US10013265B2 (en) * | 2016-06-23 | 2018-07-03 | International Business Machines Corporation | Management of container host clusters |
US10001990B2 (en) * | 2017-10-26 | 2018-06-19 | Iomaxis, Llc | Method and system for enhancing application container and host operating system security in a multi-tenant computing environment |
US10503441B2 (en) | 2017-11-28 | 2019-12-10 | Portworx, Inc. | Resolving failed or hanging mount points in a clustered storage solution for containers |
KR101999592B1 (ko) * | 2017-12-07 | 2019-07-12 | 경희대학교 산학협력단 | 컨테이너 이주 방법, 상기 방법을 수행하기 위한 컴퓨팅 장치 및 컴퓨팅 시스템 |
US11263098B2 (en) * | 2018-07-02 | 2022-03-01 | Pivotal Software, Inc. | Database segment load balancer |
KR102223141B1 (ko) * | 2019-02-12 | 2021-03-04 | 성균관대학교산학협력단 | 컨테이너 환경에서의 스토리지 드라이버의 동작 방법 및 스토리지 드라이버 장치 |
US11042366B2 (en) * | 2019-05-14 | 2021-06-22 | International Business Machines Corporation | Managing software programs |
US11620254B2 (en) * | 2020-06-03 | 2023-04-04 | International Business Machines Corporation | Remote direct memory access for container-enabled networks |
US11874926B2 (en) | 2020-12-07 | 2024-01-16 | Hewlett Packard Enterprise Development Lp | Measuring containers |
US11385888B1 (en) * | 2021-01-20 | 2022-07-12 | Vmware, Inc. | Updating container runtime using standby virtual machines |
KR20230041361A (ko) | 2021-09-17 | 2023-03-24 | 한국전자통신연구원 | 도커 이미지 생성 장치 및 방법 |
KR20240140355A (ko) | 2023-03-16 | 2024-09-24 | 한전원자력연료 주식회사 | 컨테이너 기술을 이용한 설계환경 시스템 및 형상관리 방법 |
KR102591865B1 (ko) * | 2023-07-05 | 2023-10-24 | 주식회사 이글루코퍼레이션 | 컨테이너 오케스트레이션을 위한 클라우드 데이터 검증 및 관리 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615365B1 (en) * | 2000-03-11 | 2003-09-02 | Powerquest Corporation | Storing a computer disk image within an imaged partition |
CN101826029A (zh) * | 2009-03-03 | 2010-09-08 | 赛门铁克公司 | 用于合并虚拟化子层的方法与系统 |
US20110035618A1 (en) * | 2009-08-07 | 2011-02-10 | International Business Machines Corporation | Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair |
CN102460415A (zh) * | 2009-05-13 | 2012-05-16 | 惠普开发有限公司 | 用于虚拟盘版本控制的系统 |
US20140053150A1 (en) * | 2012-08-14 | 2014-02-20 | Atlassian Pty Ltd. | Efficient hosting of virtualized containers using read-only operating systems |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11132450B2 (en) * | 2016-02-26 | 2021-09-28 | Red Hat, Inc. | Accessing file systems in a virtual environment |
-
2016
- 2016-05-25 KR KR1020160064152A patent/KR20170133120A/ko not_active Application Discontinuation
-
2017
- 2017-05-24 US US15/603,591 patent/US10656845B2/en not_active Expired - Fee Related
- 2017-05-25 CN CN201710377064.7A patent/CN107436794A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615365B1 (en) * | 2000-03-11 | 2003-09-02 | Powerquest Corporation | Storing a computer disk image within an imaged partition |
CN101826029A (zh) * | 2009-03-03 | 2010-09-08 | 赛门铁克公司 | 用于合并虚拟化子层的方法与系统 |
CN102460415A (zh) * | 2009-05-13 | 2012-05-16 | 惠普开发有限公司 | 用于虚拟盘版本控制的系统 |
US20110035618A1 (en) * | 2009-08-07 | 2011-02-10 | International Business Machines Corporation | Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair |
US20140053150A1 (en) * | 2012-08-14 | 2014-02-20 | Atlassian Pty Ltd. | Efficient hosting of virtualized containers using read-only operating systems |
Also Published As
Publication number | Publication date |
---|---|
US20170344289A1 (en) | 2017-11-30 |
US10656845B2 (en) | 2020-05-19 |
KR20170133120A (ko) | 2017-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107436794A (zh) | 容器图像管理系统及方法 | |
US20200264902A1 (en) | Configuration for Application Using Microservices | |
US7904885B2 (en) | Change management for structure objects | |
US20080086660A1 (en) | Test data management | |
EP2192536A2 (en) | Integrated design application | |
CN107122368A (zh) | 一种数据校验方法、装置及电子设备 | |
US8878877B2 (en) | Rescaling for interoperability in virtual environments | |
US8676627B2 (en) | Vertical process merging by reconstruction of equivalent models and hierarchical process merging | |
US20230261876A1 (en) | Trust and traceability for software development life cycle | |
US11113253B2 (en) | Template-based synchronized customization deployment on database systems | |
US11650804B2 (en) | Validation of desired software state image for hardware incompatibilities | |
CN104471530B (zh) | 可执行软件规程生成 | |
CN101847156A (zh) | 用于在制造执行系统中安装web分组的方法 | |
Mainkar | Expert Android Programming: Master skills to build enterprise grade Android applications | |
US10680901B2 (en) | Configuration management in a multisystem environment | |
US20070136325A1 (en) | Database schema for content managed data | |
US10909026B2 (en) | Increasing data accessibility across system architecture environments | |
JP2014021847A (ja) | リソース管理装置及びリソース管理方法及びプログラム | |
Strodl et al. | Digital preservation of a process and its application to e-science experiments | |
US20220413843A1 (en) | Combining model-driven applications and canvas-type applications with application lifecycle management | |
Kulkarni | Implementing SAP S/4HANA: A Framework for Planning and Executing SAP S/4HANA Projects | |
Marinescu et al. | Domain-driven design Quickly | |
Kulkarni | Implementing SAP S/4HANA | |
Reagan | Web applications on Azure: developing for global scale | |
US20230128728A1 (en) | Automated policy propagation for associated process definition files and process automation files |
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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20210511 |
|
AD01 | Patent right deemed abandoned |