This is an old revision of the document!
Singularity
What is a container?
Container is an executable environment that package up pieces of software in a way it is portable and reproducible. You can build a container on your personal laptop, copy it to the high-performance cluster (like MOGON 2) and execute it there. The next day you may decide to run the same container at another computational facility. Instead of compiling a code for some different cluster environment (different modules, different filesystems, etc.) from scratch, you just take the same container you've created the other day on your laptop. That is cool, isn't it?
Why Singularity?
Citing the official documentation of Singularity:
It is an open-source project initiated at the Lawrence Berkeley National Laboratory. It is focused on:
- Integration over isolation by default. Easily make use of GPUs, high speed networks, parallel filesystems on a cluster.
- Portability and reproducibility of computations. The single file SIF container format is easy to transport and share.
- A simple, effective security model. You are the same user inside a container as outside, and cannot gain additional privilege on the host system by default.
Basic usage
Use cases
Interactive usage
Usage as a "black box"
Are there any plans to provide Docker as well?
NO