Apptainer (Previously known as Singularity)
Apptainer is a container solution created by necessity for scientific and application-driven workloads. The Apptainer containers can be used to package entire scientific workflows, software and libraries, and even data. This means that you don’t have to ask your cluster admin to install anything for you - you can put it in a Apptainer container and run.
Build a Apptainer Container
Admin assistance required
Apptainer now requires fakeroot privilege for non-root users to create container images. Please contact an admin to set up your account with fakeroot.
Build a container from a Apptainer recipe (ubuntu1604-cuda92-ompi400.def)
Pull a container from Apptainer Hub or Docker Hub
Run a Apptainer Container
Mounted home filesystem
Run a container with "exec" command
Run a container with shell
Build a writable Apptainer container
By default, the Apptainer container filesystem is read-only. There are 2 options to build a writable Apptainer container.
--sandbox" option allows users to create a container within a writable directory (called a sandbox). It’s possible to create a sandbox without root privileges, but to ensure proper file permissions it is recommended to do so as root.
The "--writable" option allows users to create a writable ext3 image. Root privileges are required to create writable containers.
Build a writable Apptainer container based on an existing read-only image
Convert it to a writable directory (a sandbox):
Use an existing container as a target to build a new container
Frequently Asked Questions
- Can I run a Apptainer container with x86 architecture image on an IBM ppc64le system?
A: Apptainer cannot directly run x86 binaries on an IBM Power system because the bytes of machine code are different. Users need to make sure their own images are built for "ppc64le" rather than "x86".
- What is the option "--nv" means?
A: The "--nv" allows the Apptainer container to leverage the NVIDIA GPU on the host system. Use this option if the container asks for nvidia-docker support.