[发明专利]基于容器的文件挂载方法、装置及电子设备有效
申请号: | 201910921982.0 | 申请日: | 2019-09-26 |
公开(公告)号: | CN110659246B | 公开(公告)日: | 2022-05-03 |
发明(设计)人: | 孙磊;沈迦勒;何方石 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F16/10 | 分类号: | G06F16/10;G06F16/11 |
代理公司: | 北京市铸成律师事务所 11313 | 代理人: | 王一;武晨燕 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 容器 文件 方法 装置 电子设备 | ||
本申请涉及云计算领域,本申请公开了一种基于容器的文件挂载方法、装置、电子设备和可读存储介质,涉及数据处理技术领域。具体实现方案为:在宿主机中,通过代理组件将目标代码对应的镜像文件设置为循环设备;进入目标容器的命名空间,使用第一预定命令建立虚拟设备文件,所述虚拟设备文件对应于宿主机中的所述循环设备;将所述虚拟设备文件挂载至所述目标容器的指定目录。利用本申请实施例的基于容器的文件挂载方法,能够实现文件至容器的低延时挂载。
技术领域
本申请涉及数据处理技术领域,尤其涉及云计算技术领域。
背景技术
Docker技术是一种开源的应用容器引擎技术,具有轻量、标准、安全和方便部署等优点。目前,云计算提供商大多使用容器技术向用户提供云服务。在容器启动时可将用户代码挂载到容器中,或者在容器运行过程中,也可将代码挂载到运行的容器中。
在实际应用中,研究发现将用户代码挂载到正在运行的容器中之后,会出现相当的延时,所挂载的文件不能快速使用。尤其是在对延时较为敏感的服务场景中,例如FaaS(Function as a server,功能服务化)业务,消耗的时间成本过高,已有的挂载方式已不能满足云上的使用需求。
发明内容
有鉴于此,本申请实施例提供一种基于容器的文件挂载方法、装置、电子设备以及可读存储介质。
第一方面,本申请提供一种基于容器的文件挂载方法,该方法包括:
在宿主机中,通过指定的代理组件将目标代码的镜像文件设置为循环设备;
进入目标容器的命名空间;
使用第一预定命令建立虚拟设备文件,该虚拟设备文件对应于该宿主机中的该循环设备;
将该虚拟设备文件挂载至该目标容器的指定目录。
利用本申请实施例的基于容器的文件挂载方法,将宿主机中的目标代码镜像文件设置为循环设备并在目标容器中建立对应虚拟设备文件,使得宿主机中的镜像文件可以作为文件系统被目标容器的用户使用,在向运行中的容器挂载文件的服务场景中,本申请实施例可克服以往挂载服务延时高的技术问题,达到缩短挂载服务延时、降低时间成本的技术效果。
根据本申请实施例的基于容器的文件挂载方法,其中,在通过指定的代理组件将目标代码对应的镜像文件设置为循环设备之前,该方法还包括:将该目标代码的镜像文件保存为指定格式;其中,该指定格式包括以下多种格式中的至少一种格式:squashfs格式、ext4格式、ext3格式。
这样处理的好处是,文件不需经过解压缩等操作即可挂载入目标容器中,供容器程序直接调用,缩短处理时间;并且上述指定格式的文件占用空间小,可节省空间。
根据本申请实施例的基于容器的文件挂载方法,其中,在通过指定的代理组件将目标代码对应的镜像文件设置为循环设备之后,该方法还包括:记录该循环设备的主设备号和次设备号;其中,该虚拟设备文件的主设备号与该循环设备的主设备号相同,该虚拟设备文件的次设备号与该循环设备的次设备号相同。
在本申请的实施例中,在将目标代码对应的镜像文件设置为循环设备之后,还记录该循环设备的主设备号和次设备号,用于在目标容器中建立对应的虚拟文件时使用。
根据本申请实施例的基于容器的文件挂载方法,其中,在通过指定的代理组件将目标代码对应的镜像文件设置为循环设备之后,该方法还包括:通过该指定的代理组件,使用第二预定命令进入该目标容器的命名空间;其中,该指定的代理组件以特权方式在该宿主机中运行。
在本申请的实施例中,宿主机中以特权方式运行的代理组件能够进入其他容器的命名空间,并执行所需命令。
根据本申请实施例的基于容器的文件挂载方法,其中,该目标容器处于运行状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910921982.0/2.html,转载请声明来源钻瓜专利网。