Skip to main content

Apptainer

Apptainer (formerly known as Singularity) is an HPC-oriented container system.

Unlike Docker, Apptainer is designed for use in HPC systems such as Marlowe. More info on Apptainer can be found here: https://apptainer.org/

To load Apptainer, run apptainer directly from your shell.

Apptainer Cache Directory

By default, Apptainer stores all of a user’s containers in their home directory.

Since a user’s home directory on Marlowe is only 15GB, that space can quickly be used up and the quota limit will block you from pulling and running containers.

To get past this, you can set your Apptainer Cache directory to a different location. Learn more about the filesystems on Marlowe here.

For instance, If you wanted set the apptainer cache directory to your /scratch directory and your project ID is m223813, you can run the following:

export APPTAINER_CACHEDIR=/scratch/m223813/apptainercache

After running the above command, all apptainer containers will be pulled to the apptainercache folder in your project’s scratch directory.

I get “No such file or directory” when trying to load a module

Apptainer is an isolated environment as a rule. This means you will need to bind the directory of whatever module you are using into the apptainer container.