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:

  1. Set the SINGULARITY_CACHEDIR to something other than one of your user/group/lab storage

  2. 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

Singularity Documentation