Singularity/Apptainer
Singularity is a container technology, much like Docker, but more commonly seen on clusters as it does not contain the same security issues surrounding administrative access from within a container. We currently provide users a module for singularity, which can allow them to run and build their own containers for their software.Â
Â
Building a Container from a pre-built on dockerhub
Â
Due to the security settings on the cluster, when building a singularity container using the default settings it is possible that it will fail. To work around this. user can try two things:
Set the SINGULARITY_CACHEDIR to something other than one of your user/group/lab storage
Build the container is a directory that is not one of your user/group/lab storage locations
Â
A recommendation for this is to use /tmp on the compute node for both. Please make sure when creating your interactive sessions to request enough memory for your container as /tmp uses memory on the computing node as no physical hard drives exist in the computing nodes.
Â
When building a container for singularity from dockerhub,Â
[user@login001 ~]$ srun -p sandbox -c4 --mem=24G -t 60 --pty /bin/bash
[user@node-0005 ~]$ singularity pull docker://godlovedc/lolcow
NFO: Converting OCI blobs to SIF format
WARNING: 'nodev' mount option set on /tmp, it could be a source of failure during build process
INFO: Starting build...
INFO: Creating SIF file...
[user@node-0005 ~]$ singularity exec lolcow_latest.sif sinfo
FATAL: "sinfo": executable file not found in $PATH
[user@node-0005 ~]$
External Links
Intro to Singularity : Presentation material from a 2021 workshop from the UH CI team