管理容器的映像的方法、设备和计算机程序产品技术

技术编号:31886425 阅读:14 留言:0更新日期:2022-01-15 12:10
本公开涉及管理容器的映像的方法、设备和计算机程序产品。在一种用于在主机设备中管理容器的映像的方法中,接收第一容器的第一映像,第一映像包括分别用于实现第一容器的第一组服务的第一组映像层。加载第一映像以便在主机设备处部署第一容器。基于第一组映像层中的映像层的属性,为映像层设置到期时间。响应于确定到期时间被满足,从主机设备中删除映像层。提供了相应的设备和计算机程序产品。利用本公开的示例性实现方式,为映像的各个映像层设置到期时间。以此方式,可以将各个映像层存储在主机设备中。当向主机集群中的主机设备部署新的容器时,可以重用存储的各个映像层以便降低从远程下载映像层的传输带宽。降低从远程下载映像层的传输带宽。降低从远程下载映像层的传输带宽。

【技术实现步骤摘要】
管理容器的映像的方法、设备和计算机程序产品


[0001]本公开的各实现方式涉及容器的管理,更具体地,涉及用于在主机设备中管理容器的映像的方法、设备和计算机程序产品。

技术介绍

[0002]随着计算机技术的发展,“容器”技术已经被广泛地用于多个行业。目前,越来越多的应用程序是基于容器技术来开发的。在此的容器是一种用于封装服务的技术,该技术允许开发者可以将应用程序相关联的各种服务进行封装。进一步,各种类型的容器可以作为后续开发的模块,例如,应用程序可以基于一个或多个容器来开发。
[0003]可以从提供容器的服务器下载容器的映像。可以在主机设备处加载该映像,以便向主机设备部署容器。依赖于容器的功能,容器的映像的大小可以存在较大差异,例如可以在数十KB到数个GB之间变化。因而,映像的存储和下载将会导致相应的存储资源和带宽的开销。此时,如何以更为有效的方式来管理容器的映像成为一个研究热点。

技术实现思路

[0004]因而,期望能够开发并实现一种以更为有效的方式来管理容器的映像的技术方案。期望该技术方案能够与现有的应用环境相兼容,并且通过改造现有应用环境的各种配置,来以更为有效的方式管理容器的映像。
[0005]根据本公开的第一方面,提供了一种用于在主机设备中管理容器的映像的方法。在该方法中,接收第一容器的第一映像,第一映像包括分别用于实现第一容器的第一组服务的第一组映像层。加载第一映像以便在主机设备处部署第一容器。基于第一组映像层中的映像层的属性,为映像层设置到期时间。响应于确定到期时间被满足,从主机设备中删除映像层。
[0006]根据本公开的第二方面,提供了一种电子设备,包括:至少一个处理器;易失性存储器;以及与至少一个处理器耦合的存储器,存储器具有存储于其中的指令,指令在被至少一个处理器执行时使得电子设备执行用于在主机设备中管理容器的映像的动作。该动作包括:接收第一容器的第一映像,第一映像包括分别用于实现第一容器的第一组服务的第一组映像层;加载第一映像以便在主机设备处部署第一容器;基于第一组映像层中的映像层的属性,为映像层设置到期时间;以及响应于确定到期时间被满足,从主机设备中删除映像层。
[0007]根据本公开的第三方面,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的第一方面的方法。
[0008]根据本公开的第四方面,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的第二方面的方法。
附图说明
[0009]结合附图并参考以下详细说明,本公开各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实现方式。在附图中:
[0010]图1示意性示出了本公开的实现方式可以被应用于其中的应用环境的框图;
[0011]图2示意性示出了根据本公开的一个实现方式的用于在主机设备中管理容器的映像的过程的框图;
[0012]图3示意性示出了根据本公开的一个实现方式的用于在主机设备中管理容器的映像的方法的流程图;
[0013]图4示意性示出了根据本公开的一个实现方式的映像层的层级的框图;
[0014]图5示意性示出了根据本公开的一个实现方式的用于获取新的容器的映像的过程的框图;
[0015]图6示意性示出了根据本公开的一个实现方式的主机集群中的各个主机之间的拓扑结构的框图;
[0016]图7A示意性示出了根据本公开的一个实现方式的用于部署新的容器的过程的框图;
[0017]图7B示意性示出了根据本公开的一个实现方式的用于部署新的容器的过程的框图;以及
[0018]图8示意性示出了根据本公开的示例性实现的用于在主机设备中管理容器的映像的设备的框图。
具体实施方式
[0019]下面将参照附图更详细地描述本公开的优选实现。虽然附图中显示了本公开的优选实现,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实现所限制。相反,提供这些实现是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0020]在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实现”和“一个实现”表示“至少一个示例实现”。术语“另一实现”表示“至少一个另外的实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
[0021]随着云技术的发展,越来越多的应用程序是基于容器技术来开发的。随着容器的种类和数量的逐渐增加,目前已经建立了映像服务器来管理容器的映像。图1示意性示出了本公开的实现方式可以被应用于其中的应用环境的框图100。如图1所示,映像服务器110可以存储多个容器的映像112、

、以及114等。应用环境中可以包括一个或多个主机集群150,并且主机集群150可以包括多个主机设备130、

、以及140。主机设备可以经由网络120从映像服务器110下载期望的映像。例如,主机设备130可以从映像服务器110下载映像,以形成主机设备130中的映像132。可以加载映像132,以便在主机设备130中部署容器134。
[0022]将会理解,映像的大小可以存在巨大的差异。简单容器的映像可能只有数十KB,而复杂容器的映像可能会达到数个GB。此时,主机设备不得不经由网络120来从远程的映像服
务器110下载映像,这将导致较大的通信带宽。此外,网络状况可能并不稳定,进一步增加了下载失败的可能性。
[0023]将会理解,映像可以包括一个或多个映像层。目前已经提出了按照映像层并且基于分布式方式来管理映像的技术方案。然而,映像层的大小也可以存在巨大差异。当从远程位置处下载映像中包括的多个映像层时,仍然需要消耗较大的通信带宽。随着容器的种类和数量的日益增加,如何以更为可靠并且有效的方式来管理容器的映像,成为一个研究热点。
[0024]为了至少部分地解决现有技术方案中的问题,根据本公开的示例性实现方式,提出了一种用于管理容器的映像的方法、设备和计算机程序产品。在下文中将参见图2概括描述本公开的示例性实施方式。图2示意性示出了根据本公开的一个实现方式的用于在主机设备中管理容器的映像的过程的框图200。如图2所示,主机设备130可以经由网络120来从映像服务器110中下载映像,并且将映像存储在主机设备130中的存储空间中以形成映像132。在加载映像132并且已经部署相应的容器之后,并不直接删除映像132,而是为该映像132中的每个映像层设置到期时间。当到达到某个映像层的到期时间时,删除该映像层。
[0025]如图2所示,映像132可以包括多个映像层210、212、以及214等。类似地,主机设备1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于在主机设备中管理容器的映像的方法,包括:接收第一容器的第一映像,所述第一映像包括分别用于实现所述第一容器的第一组服务的第一组映像层;加载所述第一映像以便在所述主机设备处部署所述第一容器;基于所述第一组映像层中的映像层的属性,为所述映像层设置到期时间;以及响应于确定所述到期时间被满足,从所述主机设备中删除所述映像层。2.根据权利要求1所述的方法,其中为所述映像层设置到期时间包括:基于所述映像层所在的层级来设置所述到期时间,所述到期时间反比于所述层级。3.根据权利要求1所述的方法,其中为所述映像层设置到期时间包括:基于所述映像层的大小来设置所述到期时间,所述到期时间正比于所述大小。4.根据权利要求1所述的方法,其中为所述映像层设置到期时间包括:基于所述映像层的并行提供数量来设置所述到期时间,所述到期时间正比于所述并行提供数量,并且所述并行提供数量表示所述映像层最多被所述主机集群中的多少个其他主机设备并行访问。5.根据权利要求1所述的方法,其中为所述映像层设置到期时间包括:基于所述主机集群中包括的所述映像层的副本数量来设置所述到期时间,所述到期时间反比于所述副本数量。6.根据权利要求1所述的方法,其中为所述映像层设置到期时间包括:基于当前时间与所述映像层最近被访问的时间之间的差异来设置所述到期时间,所述到期时间反比于所述差异,并且所述映像层最近被访问的所述时间包括以下中的至少任一项:所述主机设备最近访问所述映像层的时间;以及所述主机集群中的其他主机设备最近访问所述映像层的时间。7.根据权利要求1所述的方法,进一步包括:响应于接收到在所述主机设备处部署第二容器的指示,确定用于实现所述第二容器的第二组服务的第二组映像层;响应于确定所述主机设备中不包括所述第二组映像层中的指定映像层,从所述主机集群中的其他主机设备获取所述指定映像层。8.根据权利要求7所述的方法,其中从所述其他主机设备获取所述指定映像层包括:获取表示所述主机设备与所述主机集群中的所述其他主机设备之间的连接的拓扑结构;基于所述拓扑结构,从所述其他主机设备获取所述指定映像层。9.根据权利要求7所述的方法,进一步包括:响应于确定所述主机集群中不包括所述指定映像层,从连接至所述主机集群的映像服务器获取所述指定映像层。10.根据权利要求1所述的方法,进一步包括:响应于接收到来自所述主机集群中的其他主机设备的用于获取所述映像层的请求,向所述其他主机设备提供所述映像层;以及更新所述映像层的所述到期时间。11.一种电子设备,包括:至少一个处理器;易失性存储器;以及
与所述至少一个处理器耦合的存储器,所述存储器具有存储...

【专利技术属性】
技术研发人员:陈思吴鹏飞林蓁蓁张瑞雪
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:

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

1