本申请实施例涉及计算机领域,尤其涉及一种容器镜像挂载方法、镜像文件挂载方法及相关装置。
背景技术:
1、在容器的整个生命周期中,拉取镜像是最耗时的步骤之一。根据程序人员分析,拉取镜像占用了容器启动时间的近八成,而用来读取数据的时间才不到一成。容器运行时(containerd),是一个工业级标准的系统,具有简单性、健壮性和可移植性等优点,可以在宿主机中管理完整的容器生命周期,包括容器镜像的传输和存储、容器的执行和管理、存储和网络等,例如,容器运行时启动容器,启动过程中需要先拉取容器镜像文件,再将容器镜像文件挂载至指定的挂载点,即目标目录,最后依据目标目录执行与该容器有关的指令。为了解决上述问题,容器运行时利用stargz镜像格式来延迟拉取镜像。这里的延迟拉取指的是容器进行,在拉取时不会拉取整个镜像文件,而是按需获取必要的文件,以解决拉取镜像耗时的问题。
2、然而,现有的方案中,拉取镜像后会将镜像文件解压至本地,这使得本地磁盘空间占用过大,给用户带来一定的不便。
技术实现思路
1、本申请实施例提供了一种容器镜像挂载方法、镜像文件挂载方法及相关装置,用于在避免本地磁盘空间占用过大的前提下进行挂载。
2、一种容器镜像的挂载方法,包括:
3、拉取步骤:从容器镜像仓库中获取第一容器镜像文件;
4、格式转换步骤:对所述第一容器镜像文件进行格式转换,得到第二容器镜像文件,所述第二容器镜像文件的格式为只读压缩文件系统格式,且所述第二容器镜像文件包括至少一个层文件;
5、挂载步骤:将所述第二容器镜像文件中的至少一个层文件挂载至至少一个目标目录。
6、可选的,所述将所述第二容器镜像文件中的至少一个层文件挂载至至少一个目标目录之后,所述方法还包括:
7、若目标目录为多个,则将多个所述目标目录进行合并得到所述第一容器镜像文件对应容器的根目录。
8、可选的,所述对所述第一容器镜像文件进行格式转换,得到第二容器镜像文件之后,所述方法还包括:
9、将所述第二容器镜像文件存储至本地存储目录,并从所述本地存储目录中获取所述第二容器镜像文件的存储地址;
10、所述将所述第二容器镜像文件中的至少一个层文件挂载至至少一个目标目录,包括:
11、基于所述第二容器镜像文件的所述存储地址,将所述第二容器镜像文件中的至少一个层文件挂载至至少一个目标目录。
12、可选的,所述基于所述第二容器镜像文件的所述存储地址,将所述第二容器镜像文件中的至少一个层文件挂载至至少一个目标目录,包括:
13、建立所述存储地址和所述至少一个目标目录两者之间的函数关系,以使得用户能够通过所述至少一个目标目录访问位于所述存储地址的所述第二镜像文件。
14、可选的,所述对所述第一容器镜像文件进行格式转换,得到第二镜像文件,包括:
15、对所述第一容器镜像文件进行解压,得到第三容器镜像文件,所述第一镜像文件的格式为归档压缩格式;
16、通过预设压缩算法将所述第三容器镜像文件进行压缩,得到只读压缩文件系统格式的所述第二容器镜像文件。
17、可选的,所述预设压缩算法为gzip压缩算法、lzma压缩算法、lzo压缩算法和xz压缩算法中的任意一种。
18、可选的,所述拉取步骤由主机执行,所述格式转换步骤和所述挂载步骤由预设外置插件执行。
19、一种镜像文件挂载方法,包括:
20、获取远程容器镜像仓库中待挂载的第三容器镜像文件的存储地址;
21、基于所述第三容器镜像文件的存储地址,通过网络链路将所述第三容器镜像文件挂载至至少一个目标目录。
22、一种容器镜像挂载装置,包括:
23、第一获取单元,用于从容器镜像仓库中获取第一容器镜像文件;
24、格式转换单元,用于对所述第一容器镜像文件进行格式转换,得到第二容器镜像文件,所述第二容器镜像文件的格式为只读压缩文件系统格式;
25、第一挂载单元,用于将所述第二容器镜像文件中的多个层文件挂载至多个目标目录。
26、一种镜像文件挂载装置,包括:
27、第二获取单元,用于获取远程容器镜像仓库中待挂载的第三容器镜像文件的存储地址;
28、第二挂载单元,用于基于所述第三容器镜像文件的存储地址,通过网络链路将所述第三容器镜像文件挂载至至少一个目标目录。
29、一种电子设备,包括:
30、中央处理器,存储器以及输入输出接口;
31、所述存储器为短暂存储存储器或持久存储存储器;
32、所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行前述的方法。
33、一种镜像文件挂载装置,包括:
34、中央处理器,存储器以及输入输出接口;
35、所述存储器为短暂存储存储器或持久存储存储器;
36、所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行前述的方法。
37、一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行前述的方法。
38、从以上技术方案可以看出,本申请实施例具有以下优点:
39、从容器镜像仓库中获取第一容器镜像文件后,对第一容器镜像文件进行格式转换,以得到第二容器镜像文件。最后将第二容器镜像文件中的至少一个层文件挂载至至少一个目标目录。由于第二容器镜像文件的格式为只读压缩文件系统格式,故将第二容器镜像文件的层文件挂载至目标目录时不需要对第二容器镜像文件进行解压,从而避免了本地磁盘空间占用过大,给用户带来较好的体验。
1.一种容器镜像的挂载方法,其特征在于,包括:
2.根据权利要求1所述的容器镜像的挂载方法,其特征在于,所述将所述第二容器镜像文件中的至少一个层文件挂载至至少一个目标目录之后,所述方法还包括:
3.根据权利要求1所述的容器镜像的挂载方法,其特征在于,所述对所述第一容器镜像文件进行格式转换,得到第二容器镜像文件之后,所述方法还包括:
4.根据权利要求3所述的容器镜像的挂载方法,其特征在于,所述基于所述第二容器镜像文件的所述存储地址,将所述第二容器镜像文件中的至少一个层文件挂载至至少一个目标目录,包括:
5.根据权利要求1所述的容器镜像的挂载方法,其特征在于,所述对所述第一容器镜像文件进行格式转换,得到第二镜像文件,包括:
6.根据权利要求5所述的容器镜像的挂载方法,其特征在于,所述预设压缩算法为gzip压缩算法、lzma压缩算法、lzo压缩算法和xz压缩算法中的任意一种。
7.根据权利要求1所述的容器镜像的挂载方法,其特征在于,所述拉取步骤由主机执行,所述格式转换步骤和所述挂载步骤由预设外置插件执行。
8.一种镜像文件挂载方法,其特征在于,包括:
9.一种容器镜像挂载装置,其特征在于,包括:
10.一种镜像文件挂载装置,其特征在于,包括:
11.一种电子设备,其特征在于,包括:
12.一种镜像文件挂载装置,其特征在于,包括:
13.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7中任意一项或权利要求8所述的方法。