System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() Docker镜像的构建方法、运行方法及装置制造方法及图纸_技高网

Docker镜像的构建方法、运行方法及装置制造方法及图纸

技术编号:40677187 阅读:2 留言:0更新日期:2024-03-18 19:15
本申请提供了一种Docker镜像的构建方法、运行方法及装置,其中,Docker镜像的构建方法包括:响应于构建Docker镜像的构建请求,确定构建请求对应的多个构建任务;根据各个构建任务对应的构建文件和基础资源构建Docker镜像;其中,构建文件包括多个构建子文件,不同构建子文件包含构建任务在不同运行环境的相关信息,相关信息包括任务资源的路径信息和校验信息,用于在运行所述Docker镜像时,确定运行环境的任务资源;通过构建任务在不同运行环境的相关信息,可以实现构建出的Docker镜像适用于不同的运行环境,进而减少Docker镜像维护版本,通过采用路径信息和校验信息替代对应的任务资源,可以减少构建出的Docker镜像的体积。

【技术实现步骤摘要】

本申请涉及计算机,特别是涉及docker镜像的构建方法、运行方法及装置。


技术介绍

1、docker(应用容器引擎)是一个开源的应用容器引擎,旨在提供一种应用的自动化部署解决方法,能够让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的linux或windows操作系统的机器上,实现应用的自动化安装、部署和升级,非常方便。

2、现有的视频转码服务通常采用容器技术进行分布式任务的提交与执行,依赖docker镜像进行版本发布以及部署,然而,根据现有的docker应用场景,在实际使用中,存在如下问题:

3、视频转码业务中所需的docker镜像根据运行环境可以分为多种类型的镜像,例如,gpu(graphics processing unit,图像处理器)运行环境中的gpu镜像、cpu(centralprocessing unit,中央处理器)运行环境中的cpu镜像。现有技术中,由于gpu镜像与cpu镜像所需的文件不同,gpu镜像与cpu镜像需要被分开维护。随着业务逐渐复杂,环境变化较多,需要维护的镜像版本也越来越多,在业务开发时容易造成混乱,从而导致线上故障。


技术实现思路

1、鉴于上述问题,提出了本申请的一种docker镜像的构建方法、运行方法及装置以至少克服上述docker镜像维护版本多,在业务开发时容易造成混乱的问题。

2、在本申请实施的第一方面,首先提供了一种docker镜像的构建方法,应用于第一电子设备,所述方法包括:

3、响应于构建docker镜像的构建请求,确定所述构建请求对应的多个构建任务;

4、根据各个构建任务对应的构建文件和基础资源构建docker镜像;

5、其中,所述构建文件包括多个构建子文件,不同构建子文件包含构建任务在不同运行环境的相关信息,所述相关信息包括任务资源的路径信息和校验信息,所述路径信息和校验信息用于在运行所述docker镜像时,确定运行环境的任务资源;

6、将构建得到的docker镜像推送到镜像仓库中。

7、可选地,所述方法还包括:

8、当所述任务资源更新时,确定存在更新的任务资源;

9、根据更新的任务资源,更新所述docker镜像中、与所述更新的任务资源对应的构建子文件中的相关信息。

10、在本申请实施的第二方面,还提供了一种docker镜像的运行方法,应用于第二电子设备,所述方法包括:

11、响应于针对docker镜像的运行指令,创建所述docker镜像对应的容器;其中,所述docker镜像采用上述任一实施例的docker镜像的构建方法构建得到;

12、当所述容器执行目标任务时,根据当前运行环境从所述目标任务对应的构建文件中确定出目标构建子文件,所述目标构建子文件对应的目标任务资源与所述当前运行环境相匹配;

13、根据所述目标构建子文件中的路径信息,找到所述目标任务资源,并下载所述目标任务资源。

14、可选地,所述方法还包括:

15、创建资源缓存目录;

16、将所述资源缓存目录挂载到所述容器中,所述资源缓存目录用于存储所述docker镜像运行时下载得到的任务资源。

17、可选地,所述根据所述目标构建子文件中的路径信息,找到所述目标任务资源,并下载所述目标任务资源,包括:

18、根据所述目标构建子文件中的校验信息,判断所述资源缓存目录中是否存在所述目标任务资源;其中,所述目标任务资源的校验信息与所述目标构建子文件中的校验信息相同;

19、若存在,则将所述目标任务资源软链接至所述容器中;

20、若不存在,则根据所述目标构建子文件中的路径信息,找到所述目标任务资源,并下载所述目标任务资源至所述资源缓存目录中,以及,将所述目标任务资源软链接至所述容器中。

21、可选地,所述根据所述目标构建子文件中的路径信息,找到所述目标任务资源,并下载所述目标任务资源,还包括:

22、在下载所述目标任务资源的过程中,对所述目标任务资源添加文件锁,以阻止其他线程和/或进程写入所述目标任务资源;

23、当所述目标任务资源下载完成时,对所述目标任务资源的文件锁进行解锁,以运行所述目标任务资源。

24、在本申请实施的第三方面,还提供了一种docker镜像的构建装置,所述装置包括:

25、任务确定模块,用于响应于构建docker镜像的构建请求,确定所述构建请求对应的多个构建任务;

26、镜像构建模块,用于根据各个构建任务对应的构建文件和基础资源构建docker镜像;

27、其中,所述构建文件包括多个构建子文件,不同构建子文件包含构建任务在不同运行环境的相关信息,所述相关信息包括任务资源的路径信息和校验信息,所述路径信息和校验信息用于在运行所述docker镜像时,确定运行环境的任务资源;

28、镜像推送模块,用于将构建得到的docker镜像推送到镜像仓库中。

29、可选地,该装置还包括:

30、更新资源确定模块,用于当所述任务资源更新时,确定存在更新的任务资源;

31、构建子文件更新模块,用于根据更新的任务资源,更新所述docker镜像中、与所述更新的任务资源对应的构建子文件中的相关信息。

32、在本申请实施的第四方面,还提供了一种docker镜像的运行装置,所述装置包括:

33、容器创建模块,用于响应于针对docker镜像的运行指令,创建所述docker镜像对应的容器;其中,所述docker镜像采用上述任一实施例的docker镜像的构建方法构建得到;

34、文件确定模块,用于当所述容器执行目标任务时,根据当前运行环境从所述目标任务对应的构建文件中确定出目标构建子文件,所述目标构建子文件对应的目标任务资源与所述当前运行环境相匹配;

35、资源下载模块,用于根据所述目标构建子文件中的路径信息,找到所述目标任务资源,并下载所述目标任务资源。

36、可选地,容器创建模块501,还用于创建资源缓存目录,并将所述资源缓存目录挂载到所述容器中,所述资源缓存目录用于存储所述docker镜像运行时下载得到的任务资源。

37、可选地,资源下载模块,包括:

38、资源判断子模块,用于根据所述目标构建子文件中的校验信息,判断所述资源缓存目录中是否存在所述目标任务资源;其中,所述目标任务资源的校验信息与所述目标构建子文件中的校验信息相同;

39、第一处理子模块,用于若资源缓存目录中存在所述目标任务资源,则将所述目标任务资源软链接至所述容器中;

40、第二处理子模块,用于若资源缓存目录中不存在所述目标任务资源,则根据所述目标构建子文件中的路径信息,找到所述目标任务资源,并下载所述目标任务资源至所述资源缓存目录中,以及,将所述目本文档来自技高网...

【技术保护点】

1.一种Docker镜像的构建方法,其特征在于,应用于第一电子设备,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.一种Docker镜像的运行方法,其特征在于,应用于第二电子设备,所述Docker镜像采用如权利要求1或2所述的Docker镜像的构建方法构建得到,所述方法包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述根据所述目标构建子文件中的路径信息,找到所述目标任务资源,并下载所述目标任务资源,包括:

6.根据权利要求3或5所述的方法,其特征在于,所述根据所述目标构建子文件中的路径信息,找到所述目标任务资源,并下载所述目标任务资源,还包括:

7.一种Docker镜像的构建装置,其特征在于,所述装置包括:

8.一种Docker镜像的运行装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1或2所述的Docker镜像的构建方法,或者,所述计算机程序被处理器执行时实现如权利要求3-6任一项所述的Docker镜像的运行方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1或2所述的Docker镜像的构建方法,或者,所述计算机程序被处理器执行时实现如权利要求3-6任一项所述的Docker镜像的运行方法。

...

【技术特征摘要】

1.一种docker镜像的构建方法,其特征在于,应用于第一电子设备,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.一种docker镜像的运行方法,其特征在于,应用于第二电子设备,所述docker镜像采用如权利要求1或2所述的docker镜像的构建方法构建得到,所述方法包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述根据所述目标构建子文件中的路径信息,找到所述目标任务资源,并下载所述目标任务资源,包括:

6.根据权利要求3或5所述的方法,其特征在于,所述根据所述目标构建子文件中的路径信息,找到所述目标任务资源,并下载所述目标任务资源,还包括:

<...

【专利技术属性】
技术研发人员:张馨益闫璟
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:

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

1