[发明专利]一种基于容器的编译方法、装置、设备及介质在审
申请号: | 202210460890.9 | 申请日: | 2022-04-28 |
公开(公告)号: | CN114675838A | 公开(公告)日: | 2022-06-28 |
发明(设计)人: | 张敏;刘羽 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/61;G06F9/455 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张艺 |
地址: | 215100 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 容器 编译 方法 装置 设备 介质 | ||
本申请公开了一种基于容器的编译方法、装置、设备及介质,涉及计算机技术领域,所述方法包括:在基础镜像内安装与应用软件对应的系统依赖库;基于应用软件的源代码确定脚本文件,根据基础镜像和脚本文件构建与应用软件对应的容器;基于自定义编译参数生成目标配置文件;通过执行目标配置文件,调用脚本文件以实现在容器内对应用软件的源代码进行编译。可见,相较于传统的每更改一次编译参数就对应生成一个容器的方法,本申请首先生成了一个容器,然后基于编译参数在容器外部生成了目标配置文件,如此一来,只需根据编译参数的修改需求修改配置文件,而无需每次在修改编译参数时生成不同的容器,由此节省了资源,减少了工作量。
技术领域
本发明涉及计算机技术领域,特别涉及一种基于容器的编译方法、装置、设备及介质。
背景技术
高性能软件在部署和管理过程中面临依赖环境复杂、软件移植性差以及权限使用不灵活的问题。目前软件的部署主要通过源码编译安装或者通过各种软件管理工具安装。源码编译安装需要考虑复杂的依赖环境,安装后需手动来对软件环境变量进行管理。很多软件管理工具都可以起到对软件依赖环境的管理作用,并且使用时无需管理员权限,如Conda,Spack等部署工具,但这类管理工具无法囊括所有的软件,且通过这些工具部署软件失败时,调试起来非常复杂。容器技术共享系统内核,通过容器引擎将软件及所有的依赖进行打包,解决了复杂依赖环境的管理问题;打包后的容器镜像可利用容器引擎直接移植到不同的Linux上直接运行,解决了软件部署时的移植问题;容器技术提供类似于虚拟机的操作环境,管理员及用户可以在计算平台或者本地灵活地使用管理员权限,且不会对原有系统造成影响,解决了软件部署时需要考虑的权限问题。
基于Docker Swarm的MPI并行软件部署使用复杂,性能损耗大,不适合在高性能计算场景中使用;Shifter容器专门用于高性能计算,但需要专门的镜像网关,部署后的软件镜像为只读,不利于修改,使用不够灵活;Singularity容器克服了Docker容器不方便运行大规模并行计算的挑战。其完全基于可移植性进行虚拟化,更加轻量级,部署更快,使用时只需在节点上安装Singularity即可。其主要技术方案是:(1)安装Singularity容器;(2)制作Singularity基础镜像;(3)制作应用镜像。在现有的技术方案中,制作应用镜像时一般是使用与所需要打包的基础镜像完全一致的完全物理系统,并在其内编译所需要使用的应用,然后将其拷入所需制作的基础镜像中,最后配置相应的库环境即可,如此一来必须要提前编译好可执行文件,对于某些应用,如CESM(Community Earth System Model,社区地球系统模式),生成的可执行文件是和编译参数绑定的,例如进程数,如需要进行大规模的扩展,更换进程数后需要重复多次编译。然而制作容器的过程,对非专业的人员是一个比较大的挑战,也改变了使用容器部署软件的初衷。
为此,如何避免现有技术中每更改一次编译参数就对应生成一个容器、节省资源以及减少工作量是本领域亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种基于容器的编译方法、装置、设备及介质,能够避免现有技术中每更改一次编译参数就对应生成一个容器的问题,并且节省资源和减少工作量,其具体方案如下:
第一方面,本申请公开了一种基于容器的编译方法,包括:
在基础镜像内安装与目标应用软件对应的系统依赖库;
基于所述目标应用软件的源代码确定所述目标应用软件的脚本文件,并根据所述基础镜像和所述脚本文件构建与所述目标应用软件对应的容器;
获取自定义编译参数,并将所述自定义编译参数添加至配置文件中,以生成目标配置文件;
通过执行所述目标配置文件,调用所述脚本文件以实现在所述容器内对所述目标应用软件的源代码进行编译。
可选的,所述在基础镜像内安装与目标应用软件对应的系统依赖库,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210460890.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:全掌支撑板及鞋底
- 下一篇:基于两级控制架构的牵引制动融合系统及方法