Singularity is now called Apptainer but it is functionally the same.
Singularity containers let users run applications in a Linux environment of their choosing. This is different from Docker which is not appropriate for HPC due to security concerns. Singularity is like a container for Docker images, but is not just for Docker.
The most important thing to know is that you create the singularity container called an image on a workstation where you have root privileges, and then transfer the image to HPC where you can execute the image. If root authority is an issue then the answer might be a virtual environmen t on your laptop, like Vagrant for MacOS
For an overview and more detailed information refer to:
Singularity Quick Start
Here are some of the use cases we support using Singularity:
- Portability and reproducibility
- You already use Docker and want to run your jobs on HPC
- You want to preserve your environment so that a system change will not affect your work
- You need newer or different libraries than are offered on HPC systems
- Someone else developed the workflow using a different version of linux
- You prefer to use something other than Red Hat / CentOS, like Ubuntu