singularity 安装与使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了singularity 安装与使用相关的知识,希望对你有一定的参考价值。

参考技术A 容器技术是一种以应用软件为中心的虚拟化技术。以应用软件为单元,将软件及所有的依赖打包成容器镜像,打包后的容器镜像可直接拷贝到不同的Linux主机上运行。通过容器技术,可以很好的解决安装软件时,依赖库的安装问题、软件环境的隔离以及软件环境的移植问题。

Singularity为劳伦斯伯克利国家实验室开发专门用于高性能计算场景的容器技术,Singularity完全基于可移植性进行虚拟化,更加轻量级,部署更快,Singularity目前被广泛地各高性能计算中心。

通过Singularity来满足作业运行的软件环境,首先是创建或者获取软件镜像,再将创建好的软件镜像上传到集群上运行;

通过Singularity创建软件镜像,需要在有root权限的Linux主机上,或者在配置好fakeroot的Linux主机上以“fakeroot”的身份进行。

下面将介绍如何在有root权限的主机上安装Singularity,以及如何使用Singularity创建软件镜像;

同时介绍如何在已配置好fakeroot节点上,通过Singularity构建软件镜像。

首先介绍在拥有root权限的个人主机上安装Singularity:

接着介绍如何使用Singularity部署软件镜像,以软件molspin为例:

同时,集群上部署了节点专门用于构建Singularity软件镜像,用户可以在该节点上使用fakeroot安装软件镜像,具体方式如下:

使用fakeroot创建的sandbox镜像,不能直接通过rm -rf 删除,删除方式如下:

Singularity入门之通过沙盒创建镜像

准备镜像目录

通过 “–sandbox” 选项指定一个目录来作为镜像运行目录。

$ sudo singularity -d build --sandbox ubuntu/ docker://ubuntu

运行并修改容器

在此镜像目录之上运行容器,这里需要使用 “–writable” 选项来使其可写。

$ sudo singularity shell --writable ubuntu/

# 在容器中运行 apt 安装程序来安装一些软件包,比如:安装vim

Singularity ubuntu:~> apt-get update
...

Singularity ubuntu:~> apt-get install vim
...

制作镜像

退出容器,然后使用 build 命令来创建新的容器镜像。

$ sudo singularity build ubuntu-vim.simg ubuntu/

测试

$ sudo singularity shell ubuntu-vim.simg

Singularity ubuntu-vim.simg:~> vim (运行vim检查镜像中是否包含安装的软件)

以上是关于singularity 安装与使用的主要内容,如果未能解决你的问题,请参考以下文章

CentOS singularity(HPC) 安装以及简单使用

centos7 中singularity的安装

Singularity入门之通过沙盒创建镜像

Singularity入门之乱七八糟

[SinGuLaRiTy] 百度之星 1003 度度熊与邪恶大魔王

Singularity入门之通过文件创建镜像