[发明专利]一种从本地docker镜像中提取文件内容的方法及装置有效
申请号: | 201910207652.5 | 申请日: | 2019-03-18 |
公开(公告)号: | CN109933342B | 公开(公告)日: | 2020-10-16 |
发明(设计)人: | 杜雄;程度;张福 | 申请(专利权)人: | 北京升鑫网络科技有限公司 |
主分类号: | G06F8/61 | 分类号: | G06F8/61;G06F16/185 |
代理公司: | 北京沁优知识产权代理有限公司 11684 | 代理人: | 郭峰 |
地址: | 100000 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 本地 docker 镜像中 提取 文件 内容 方法 装置 | ||
本发明一方面提供了一种从本地docker镜像中提取文件内容的方法,包括以下步骤:通过Docker API(Application Program Interface,应用程序接口)枚举当前主机镜像列表;遍历镜像列表,获取镜像id以及层的存放路径,形成层链表,逐层扫描层链表,获取层的安装包信息;形成层链表的方法包括以下步骤:从镜像列表中选取一个镜像,通Docker API获取该镜像的详细信息;判断该镜像的存储方式是否为有效驱动;若是,进入第一读取路径;若否,进入第二读取路径。本发明的另一方面提供了一种从本地docker镜像中提取文件内容的装置,包括:遍历判断模块、第一读取路径模块和第二读取路径模块。
技术领域
本发明涉及计算机信息处理领域领域,尤其涉及一种从本地docker镜像中提取文件内容的方法及装置。
背景技术
目前,Docker是当前最主流的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到机器上,从而实现一次创建、任意运行的目的。Docker的使用核心就是镜像,而镜像仓库作为镜像存储的后端在Docker的发展过程中起着举足轻重的作用。在容器运行环境下,所有服务程序均被打包到容器镜像中,随着镜像包一起发布,由于在镜像打包发布过程中存在不规范的操作,不合法的安装包下载源,中间人攻击等原因,导致镜像引入木马,或者漏洞,这样就需要提供一种机制快速提取镜像中的文件内容,发现镜像包中存在的各种CVE(Common Vulnerabilities and Exposures,漏洞)。
现有的开源版镜像风险扫描工具clair/clairctl,该工具提供一般扫描方法:
1)根据镜像id(identity,身份识别码),解析镜像包信息,获取层id列表。
2)通过镜像层传入API发送层的id信息,clair将组装url(Uniform ResourceLocator,统一资源定位符)通过本地docker api从docker engine(镜像源站)中下载指定镜像层。
3)内存中解压层的所有文件,找到安装包信息数据库文件,扫描层的安装包信息并返回结果。
但该扫描方法没有针对本地镜像特点优化数据访问方式,如层的访问顺序,解压方法,导致CPU(Central Processing Unit,中央处理器),内存性能消耗大,扫描速度慢。
因此,本领域亟需一种能够更好从本地docker镜像中提取文件内容的方法,以提高访问速度。
有鉴于此,提出本发明。
发明内容
本发明的目的在于提供一种能够更好从本地docker镜像中提取文件内容的方法及装置,以解决现有获取本地Docker镜像中相关文件信息过程中CPU、内存性能消耗大,扫描速度慢的技术问题。技术方案如下:
本发明一方面提供了一种从本地docker镜像中提取文件内容的方法,包括以下步骤:
通过Docker API(Application Program Interface,应用程序接口)枚举当前主机镜像列表;
遍历镜像列表,获取镜像id以及层的存放路径,形成层链表,逐层扫描层链表,获取层的安装包信息。
优选的,形成层链表的方法包括以下步骤:
从镜像列表中选取一个镜像,通Docker API获取该镜像的详细信息;
判断该镜像的存储方式是否为有效驱动;
若是,进入第一读取路径,所述第一读取路径包括以下步骤:
通过有效驱动,获取镜像id,以及层在主机的存放路径,形成层链表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京升鑫网络科技有限公司,未经北京升鑫网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910207652.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种使CPLD镜像实时运行的烧录方法与装置
- 下一篇:一种系统安装方法及装置