Roadmap: Containers
In this roadmap, you will learn what containers are and what distinguishes them from virtual machines, why you might want to use them to run applications, and how the Apptainer container platform differs from Docker. We survey different registries where you can find and download container images. We then introduce commands for running your Apptainer container and controlling its interactions with the host. Finally, we describe how you can extend the capabilities of a container at TACC by accessing one or more of the host's GPUs from it, launching multiple container instances that work in parallel using MPI, and creating and activating a custom Python environment for use inside your containers.
Objectives
After you complete this topic, you should be able to:
- Describe what containers are and what distinguishes them from virtual machines
- Explain why Apptainer is often favored for running applications at HPC centers
- Identify and use registries where you can find and download container images
- Use the Apptainer command-line interface to run and control containers
- Specify host directories that are to be mounted inside a container
- Access the host's GPUs from inside a container
- Launch multiple containers in order to run an MPI-parallel application
- Create and activate a custom Python environment for use in containers
Prerequisites
This roadmap covers basic information on containers and Apptainer usage through the command line interface. Some familiarity with Linux is preferred, but it is not necessary.
Requirements
There are no requirements for this roadmap.