使用问答

北极星集群使用

当前位置: 首页 -> 使用问答 -> 北极星集群使用 -> 正文

三、查询tag,和使用原生centos挂载使用北极星集群安装软件--singularity修改、打包和运行镜像

信息来源: 发布日期:2022-12-05

三、修改镜像并打包,将/appnews挂载到容器里,这里我们以运行/appsnew/usr/R/R-4.2.0/lib64/R为例

这种就可以把集群已经安装好的软件,打包到里面去,然后安转设置别的软件,比如intel编译器等,后面mpi、GPU会讲到

1、拉取

推荐使用北极星集群dockerserver

执行:

dockersearch centos

图片关键词

输入提示如箭头

在login06(比较快):

singularitybuild --sandbox R-4.2.0 docker://bjxdockerfast:5000/centos7.6_bjx:latest

其他登陆节点

singularitybuild --sandbox R-4.2.0 docker://bjxdocker:5000/centos7.6_bjx:latest

或者使用docker服务器自己的:

singularitybuild --sandbox R-4.2.0 docker://centos:7.6.1810

注意:

其中R-4.2.0为sandbox的文件夹

7.6.1810为版本的tag,需要去https://hub.docker.com/搜索自己想要的版本的tag

图片关键词

图片关键词

2、创建文件夹和加载文件

mkdir R-4.2.0/appsnew

vi R-4.2.0/environment

加入这行source /appsnew/source/R-4.2.0.sh

(也可以 echo 'source /appsnew/source/R-4.2.0.sh'>> R-4.2.0/environment)

图片关键词

同时创建其他文件夹

mkdir R-4.2.0/lustre1

mkdir R-4.2.0/lustre2

mkdir R-4.2.0/lustre3

mkdir R-4.2.0/gpfs1

mkdir R-4.2.0/gpfs2

注意,cn_nl,cn-short不挂载gpfs,cn-long不挂载lustre3,其他包括登陆节点都挂载

3、进入系统安装相关软件,以虚拟root的身份进入的,使用root安装依赖,您没有看错是root 可以用yum

singularityshell -B /appsnew:/appsnew,/apps -w R-4.2.0

注意:-B /appsnew:/appsnew ,B为挂载选项;第一个为系统的/appsnew ,第二个为镜像内部的/appsnew ,如果同名可以直接写-B /appsnew。 -w 为挂载为可写

如果需要挂载并行文件系统,运行命令如下:

singularityshell -B /appsnew,/apps,/lustre1,/lustre2,/gpfs1,/lustre3 -w R-4.2.0

如果需要挂载并行文件系统和系统库,运行命令如下:

singularityshell -B /appsnew,/apps,/lustre1,/lustre2,/gpfs1,/lustre3,/usr,/lib64,/etc,/sys -w R-4.2.0

进入后运安装缺的包

Apptainer>yum install -y gcc gcc-c++ gcc-gfortran readline-devel bzip2-devel libXt-devel fonts-chinese tcl tcl-devel tclx tk tk-devel

Apptainer>yum install -y mesa-libGLU mesa-libGLU-devel libcurl libcurl-devel xz-devel.x86_64 pcre2-devellibicu wget which perl libgfortran5

图片关键词

安装完后,输入并执行exit退出系统

4、测试

singularityrun -B /appsnew,/apps R-4.2.0 R

图片关键词

5、打包

singularitybuild R-4.2.0.sif R-4.2.0

##打包的时候出现:"Can't add file 的时候

chmod -R +r R-4.2.0 就可以,或者删除提示中没有用的文件

6、执行

singularityrun -B /appsnew:/appsnew R-4.2.0.sif R

注意:-B /appsnew:/appsnew ,B为挂载选项;第一个为系统的/appsnew ,第二个为镜像内部的/appsnew

也可以 singularityrun -B /appsnew,/apps R-4.2.0.sif R