Singularity is a virtualization tool that allows users to containerize workflows, applications, and environments to allow for portability, customization, and reproducibility. Additionally, Singularity is integrated with the Message Passage Interface (MPI) to be used in High Performance Computing (HPC) systems as well as Virtual Machines (VMs) which enables a seamless workflow environment. Lastly, you may also utilize Docker containers with Singularity!
The most up-to-date version is housed in a GitHub repository. The software is installed from the source. Use Git to clone the repository and run the following commands.
Building a Container using an Existing Container
The following command executes the build command, specifies the path and name of the container (lolcow.simg), and provides the location of the container on the Singularity Hub (shub://GodloveD/lolcow).
Interacting with Containers
There are three primary ways to interact with a Singularity container.
Run: Creates an ephemeral container that runs a predefined script
singularity run lolcow.simg or ./lolcow.simg
Shell: Supplies a command line prompt to interface with the container
singularity shell lolcow.simg
Execute: Sends a command into the container and provides output
singularity exec lolcow.simg
Congratulations! You have successfully deployed a Singularity container!
git clone https://github.com/singularityware/singularity.git
cd singularity
./autogen.sh
./configure --prefix=/usr/local --sysconfdir=/etc
make
sudo make install