This page is designed to give a brief introduction to how to build a singularity image through the various methods available.
For more information regarding building a singularity container, the Building a Container documentation is excellent and we recommend becoming familiar with it.
Container images can take up a lot of disk space. You may want to save them in a location with a large quota and it is also a good idea to change singularity's default cache directory ( i.e
~/.singularity)to a location that gets cleaned up regularly i.e
~/.scratch. In order to change the chache directory, you need to set the appropiate variable in your
~/.bashrcfile. For instance:
# set SINGULARITY_CACHEDIR. Make sure directory exists!
You can use the
buildcommand to download a container from Singularity Hub.
$ singularity build <finalImageName>.simg shub://<singularityHubURL>
The first argument (
<finalImageName>.simg) specifies a path and name for your container. The second argument (
shub://<singularityHubURL>) gives the Singularity Hub URI from which to download.
Note, you do not actually use the
<>when entering your path/name or url.
If you already have a desired docker container that you would like to build as a singularity image for use on OSCAR, you can build directly from dockerHub using the build command:
$ singularity build <finalImageName>.simg docker://<dockerHubURL>
This will pull the docker image from DockerHub and build it as a singularity image locally.