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