容器是一种Linux上广为采用的应用封装技术,它将可执行程序与依赖库打包成一个镜像文件,启动时与宿主节点共享操作系统内核。 由于镜像文件同时携带可执行文件和依赖库,避免了两者不匹配造成的兼容性问题,还能在一个宿主Linux操作系统上支持多种不同的Linux发行版,譬如在CentOS发行版上运行Ubuntu的 命令。
π 超算集群采用基于 的高性能计算容器技术,相比Docker等在云计算环境中使用的容器技术,Singularity 同时支持root用户和非root用户启动,且容器启动前后,用户上下文保持不变,这使得用户权限在容器内部和外部都是相同的。 此外,Singularity 强调容器服务的便捷性、可移植性和可扩展性,而弱化了容器进程的高度隔离性,因此量级更轻,内核namespace更少,性能损失更小。
您可以在专门的容器构建节点定制Singularity镜像。
在π超算集群上,我们采用“容器化的Singularity”,允许用户在一个受限的环境内以普通用户身份“模拟”root特权,保存成Singularity镜像,并将镜像传回集群使用。
首先从登录节点使用用户名 跳转到专门用于构建容器镜像的节点。 需要注意的是,X86节点(用于 等队列)和国产ARM节点(用于 队列)的处理器指令集是不兼容的,需使用对应的镜像构建节点。
从登录节点跳转X86容器构建节点:
从登录节点跳转ARM容器构建节点:
由于所有用户共享使用 用户,需要创建专属工作目录,在工作目录中构建镜像。 我们使用 命令在 目录下创建名字带有随机字符的工作目录。
使用 查看本地可用的基础镜像列表。
使用 从基础镜像创建容器(container)实例,并以 身份进入容器内。
因为centos停止维护,初次进入镜像需要修改yum源,才可以正常使用yum命令。
然后以 特权修改容器内容,例如安装软件等。
操作结束后退出容器,回到 用户身份下。
使用 查看与先前定义名字对应的container ID,在这个示例中是 。
使用 提交容器变更。
此时使用 可以在容器镜像列表中看到刚刚提交的容器变更。
将Docker容器保存为可在超算平台上使用的Singularity镜像。
使用 将Singularity镜像文件复制到超算集群家目录后,可以使用 命令测试镜像文件,从 内容和 命令版本看,确实进入了与宿主操作系统不一样的运行环境。
与x86平台容器编译方式类似,在AI平台也可以 按需定制Singularity镜像。
在π超算集群上,我们采用“容器化的Singularity”,允许用户在一个受限的环境内以普通用户身份“模拟”root特权,保存成Singularity镜像,并将镜像传回集群使用。
从登录节点跳转X86容器构建节点:
由于所有用户共享使用 用户,需要创建专属工作目录,在工作目录中构建镜像。 我们使用 命令在 目录下创建名字带有随机字符的工作目录。
使用 查看本地可用的基础镜像列表。
使用 从基础镜像创建容器(container)实例,并以 身份进入容器内。
然后以 特权修改容器内容,例如安装软件等。
操作结束后退出容器,回到 用户身份下。
使用 查看与先前定义名字对应的container ID,在这个示例中是 。
使用 提交容器变更。
此时使用 可以在容器镜像列表中看到刚刚提交的容器变更。
将Docker容器保存为可在超算平台上使用的Singularity镜像。
使用 将Singularity镜像文件复制到超算集群家目录后,可以使用 命令测试镜像文件,从 内容和 命令版本看,确实进入了与宿主操作系统不一样的运行环境。
到此这篇libc.so是什么(lib.so是什么文件)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/60568.html