[发明专利]生成容器镜像的方法、装置、存储介质及电子设备在审
申请号: | 201911143586.6 | 申请日: | 2019-11-20 |
公开(公告)号: | CN111045783A | 公开(公告)日: | 2020-04-21 |
发明(设计)人: | 陈刚;王福 | 申请(专利权)人: | 东软集团股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F11/14 |
代理公司: | 北京英创嘉友知识产权代理事务所(普通合伙) 11447 | 代理人: | 魏嘉熹 |
地址: | 110179 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 容器 方法 装置 存储 介质 电子设备 | ||
本公开涉及一种生成容器镜像的方法、装置、存储介质及电子设备,以解决相关技术中无法合并容器镜像的问题。该方法包括:加载第一容器镜像和第二容器镜像,其中,第一容器镜像和第二容器镜像中的数据是通过层级结构进行存储的,第一容器镜像为本地容器镜像;以第一容器镜像为参照,确定第二容器镜像与第一容器镜像之间的差异镜像层;生成差异镜像层对应的dockerfile命令,并将dockerfile命令添加到初始dockerfile文件中,得到目标dockerfile文件,初始dockerfile文件为第一容器镜像对应的dockerfile文件;根据目标dockerfile文件,生成容器镜像。
技术领域
本公开涉及计算机技术领域,具体地,涉及一种生成容器镜像的方法、装置、存储介质及电子设备。
背景技术
在Docker中,容器是一个标准化的软件单元,它将代码及其所有依赖关系打包,以便应用程序从一个计算环境可靠快速地运行到另一个计算环境。容器镜像是一个轻量的独立的可执行的软件包,包含应用程序运行时所需的各种资源,比如代码、运行时间、系统工具、系统库和设置等等。为了使用便利性和运维便利性等各种考虑,需要在单一容器下运行原有两个容器运行的应用程序,因此需要对原有两个容器的容器镜像进行合并。
现有技术主要是通过合并容器镜像分别对应的dockerfile文件实现容器镜像的合并。但是,待合并的容器镜像可能来自于公网镜像仓库或来自于其他镜像制作人,以至于可能无法获取到该待合并容器镜像的完整dockerfile文件,从而无法将该待合并容器镜像与原有本地容器镜像进行合并。
发明内容
本公开的目的是提供一种生成容器镜像的方法、装置、存储介质及电子设备,以解决相关技术中无法合并容器镜像的问题。
为了实现上述目的,第一方面,本公开提供一种生成容器镜像的方法,所述方法包括:
加载第一容器镜像和第二容器镜像,其中,所述第一容器镜像和所述第二容器镜像中的数据是通过层级结构进行存储的,所述第一容器镜像为本地容器镜像;
以所述第一容器镜像为参照,确定所述第二容器镜像与所述第一容器镜像之间的差异镜像层;
生成所述差异镜像层对应的dockerfile命令,并将所述dockerfile命令添加到初始dockerfile文件中,得到目标dockerfile文件,所述初始dockerfile文件为所述第一容器镜像对应的dockerfile文件;
根据所述目标dockerfile文件,生成容器镜像。
可选地,在确定所述第二容器镜像与所述第一容器镜像之间的差异镜像层之前,所述方法还包括:
确定所述第一容器镜像中不存在与所述第二容器镜像针对同一数据文件进行数据操作的镜像层。
可选地,所述确定所述第一容器镜像中不存在与所述第二容器镜像针对同一数据文件进行数据操作的镜像层,包括:
确定所述第一容器镜像与所述第二容器镜像之间的同源镜像层;
确定所述第一容器镜像中除所述同源镜像层外的第一差异镜像层,并确定所述第二容器镜像中除所述同源镜像层外的第二差异镜像层;
若所述第一差异镜像层与所述第二差异镜像层不存在相同的镜像层,则确定所述第一容器镜像中不存在与所述第二容器镜像针对同一数据文件进行数据操作的镜像层。
可选地,所述方法还包括:
确定所述第一容器镜像或所述第二容器镜像中是否存在针对同一数据文件进行数据操作的多个镜像层;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司,未经东软集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911143586.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:物联网系统及其量子密钥分配方法和装置
- 下一篇:一种接入服务器的方法和装置