Containers

Scientific software and data processing pipelines have grown in complexity making it difficult at times to simply run the software. Containers address this problem by storing the software for a particular workflow/pipeline and all of its dependencies (including a minimal operating system) in a single, large image (container) so that when it comes time to run the software (anywhere from your personal workstation, to any HPC cluster or cloud service) everything “just works”. This makes the workflow both shareable and portable while the output becomes reproducible.

  • Docker is the most popular container engine and container image format. Docker does have some issues when it comes to running it in a multi-user environment, especially HPC-type systems, so we generally don’t make Docker available.

  • Apptainer (formerly known as Singularity) is a container platform and Docker-alternative specifically designed for high-performance computing (HPC), scientific computing and data processing, and is a secure, HPC-friendly alternative to Docker that integrates well with traditional job scheduling systems such as SLURM. Most Docker images can be imported (though sometimes with a bit of tweaking) to run with Apptainer. We can help you getting a Docker-based container image or stack working with Apptainer.

  • For workflows involving container orchestration of micro-services or containerised pipelines, RTIS Solutions manages a separate experimental Kubernetes cluster.

On Klima, the preferred way to run containerised applications and workloads is using Apptainer.