Singularity容器技术
docker的缺点:
资源限制问题:Slurm利用cgroups实现资源分配,Docker通过ocker daemon无法实现。
权限问题:Docker daemon使用 root用户启动,HPC场录期望使用普通用户运行容器。
singuiarily主要是适合HPC中的普通用户,因其完全兼容docker,并且具有很好权限隔离,非常适合普通用户使用。docker因大多时候需变管理员的权眼,且普通用户进行数据卷的挂载时,容易导致其他不可访问的日录也被容器内访问,安全性较差。因此对于HPC的普通用户,建议使用singularity运行容器。
1、Singularity安装
step1:安装基础依赖包
apt-get install -y build-essential libssl-dev glib-2.0 libglib2.0-dev libfuse3-dev libfuse-dev uuid-dev libgpgme11-dev squashfs-tools libseccomp-dev wget pkg-config git cryptsetup
step2:安装go
export VERSION=1.20.4 OS=linux ARCH=amd64 # 设置具体的环境变量
wget https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz # 下载GO的安装包
tar -C /opt/software -xzvf go$VERSION.$OS-$ARCH.tar.gz # 解压GO文件
rm go$VERSION.$OS-$ARCH.tar.gz # 删除安装包
export PATH