Revision 2 as of 2017-05-22 19:50:27

Clear message

Overview

Singularity allows instantiating an alternative operating system environment on Linux systems.

In other words:

And all this without significant overhead. Sounds like fiction? It's fact. Right now. Some caveats do apply though.

Credit: Singularity was and is being developed at Berkeley Lab. Please see http://singularity.lbl.gov for upstream information.

Invocation

There are several ways to instantiate a Singularity container and run software in it. The two most important ones are:

Availability

Singularity containers can be run on any current user accessible Linux system at DESY Zeuthen. In particular, Singularity is available on all

The current set of standard images available in /project/singularity/images includes

These short image names are symbolic links to the current versions of the standard images for these operating systems. The specific images are planned to be kept around for about a month, but not forever.

Note users can copy a current image to any location to make sure this exact version will remain available.

Also note users can bring their own images and thus don't have to rely on the ones provided by DV. Creating those is rather simple and documented upstream. It currently requires root access though, so cannot be done on supported Linux systems in Zeuthen.

Filesystems shared between Host and Container

Subject to availability on the host:

Users can specify additional folders on the host to be bind mounted inside the container when the container is started. This shouldn't be required. But if it is, please see singularity help run for info how to do it - and let DV know why you need to do this.

Caveats