Singularity is a container system designed for use on High Performance Computing (HPC) systems. It allows users to run both Docker and Singularity containers.

From the Docker website: "A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings."

Availability and Restrictions


Singularity is available on Owens and Pitzer clusters. Only one version is available at any given time. To find out the current version:

module load singularity
singularity --version


Singularity is available to all OSC users.

Publisher/Vendor/Repository and License Type

SyLabs, Inc., SingularityWare, LLC., Gregory M. Kurtzer, LBNL/ Open source



To set up the environment for Singularity on the OSC clusters, use the command:

module load singularity

Using Singularity

See HOWTO: Use Docker and Singularity Containers at OSC for information about using Singularity on the Owens cluster, including some site-specific caveats.

Example:  Run a container from the Singularity hub

[owens-login01]$ singularity run shub://vsoch/hello-world
Progress |===================================| 100.0%


    No loop devices available

    If you encounter an error like

    [owens-login01]$ singularity run shub://vsoch/hello-world
    Progress |===================================| 100.0%
    FATAL: container creation failed: mount error: can't mount image /proc/self/fd/13: failed to find loop device: could not attach image file too loop device: No loop devices available

    You can try to clean up the default Singularity caching images in $HOME/.singularity/cache. Alternatively, you can use different cache directory when you run a job:

    [o0001]$ singularity run shub://vsoch/hello-world

    Further Reading