Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

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.  On Mana, 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 Mana, when building a singularity container on Mana with the default settings it is possible that it will fail.  This is due to restrictions placed on a user home directory as far as who is granted access.  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 ~]$ 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

Singularity Documentation

  • No labels