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
Table of Contents |
---|
...
Building a Container from a pre-built on dockerhub
Info |
---|
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:
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,
Code Block | ||||
---|---|---|---|---|
| ||||
[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 ~]$ |
...