Singularity
容器技术是一种以应用软件为中心的虚拟化技术。以应用软件为单元,将软件及所有的依赖打包成容器镜像,打包后的容器镜像可直接拷贝到不同的 Linux 主机上运行。通过容器技术,可以很好的解决安装软件时,依赖库的安装问题、软件环境的隔离以及软件环境的移植问题。
Singularity 为劳伦斯伯克利国家实验室开发专门用于高性能计算场景的容器技术,Singularity 完全基于可移植性进行虚拟化,更加轻量级,部署更快,Singularity 目前被广泛地各高性能计算中心。
使用容器部署和使用软件环境的步骤如下:
1. 构建容器镜像,构建容器镜像的方式有三种:
1). 在本地拥有 root 权限的 Linux 主机上安装 Singularity, 并使用 Singularity 部署容器镜像;
2). 在支持 fakeroot 的服务器上,使用 Singularity 部署容器镜像;
3). 直接从仓库中拉取已经构建好的容器镜像;
2. 将容器镜像上传到集群,通过 singularity 指令使用构建好的容器镜像。
构建容器镜像
想要构建 Singularity 容器镜像的方式有几种,1:个人 Linux 主机上安装 Singularity,并部署容器镜像;2. 配置好 fakeroot 的远程服务器上部署容器镜像;3. 直接拉取仓库中已经构建好的容器镜像。
个人 LInux 主机上构建容器镜像
1. 在拥有 root 权限的个人 Linux 主机上 安装 Singularity
下面是在 centos 8 或 rocky 8 下的安装步骤,其他 Linux 发行版请参考 官网