It is often difficult to reproduce computational workflows due to various factors, including software versions and dependencies. Containers are an excellent tool to use to overcome many of these challenges with the additional benefit to run them even many years after they were created. A container puts together in the application code, its libraries and dependencies, any configuration files, and additional system tools it is reliant on. It virtualizes the operating system and runs anywhere by packaging everything you need to run an application into its data bundle.
Apptainer (also known as Singularity) provides a simple, portable, fast, and secure way to run applications in isolated containers. This workshop aims to provide an overview of container features and virtual environments to help the user decide whether containers would be useful tools for their workflow. This workshop will cover syntax, container repositories, processes for working with container images, and some HPC use cases for containers.
Learning Objectives
- Learn how to configure R or Python virtual environments for your project
- Learn common containerization tools and remote container repositories
- Learn Apptainer/Singularity syntax
- Learn how to turn your workflow into a container
- Learn how to run and interact with containers
Level: Intermediate
Duration: 2 hours
Prerequisites