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. Due to the nature of singularity, we do not keep older version of the software available as a module, even though we currently create a versioned module. As this versioned file does get removed if a newer version of singularity is installed, we recommend loading singularity using the default module. Using the default will also buffer your job scripts from deprecation of Singularity versions so you do not need to worry about a job failing due to the removal of the versioned module you were using.
module load tools/Singularity
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 ~]$ module load tools/Singularity [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