Introduction to Containers


Instructor: Richard Lawrence

Time: Friday, March 11, 10:00AM-12:30PM

Location: Blocker 220 and online using Zoom

Prerequisites: Current HPRC account, Basic Unix/Linux skills, familiarity with Slurm. Recommended: basic Python skills.

Containers are a method of bundling a software environment for portability. HPRC supports containerization through the availability of the Singularity container runtime engine. This course provides an overview of container features for the purpose of helping the user determine whether containers are a useful tool for their workflow. This course covers Singularity syntax, the use of container repositories, practices for working with container images, and some example use cases for containers in the HPC setting. Exercises will be performed through the command line, but other workflows such as batch and GUI will be showcased.

Course Materials

Presentation slides

The presentation slides are available as downloadable PDF files.

  • Introduction to Containers on Terra Basic (Spring 2022): PDF
  • Introduction to Containers on Terra Advanced (Spring 2022): PDF


  • Overview of Containers
  • Singularity on HPRC
  • Getting a Container Image
  • Container Usage Basics
  • More Container Examples
  • Build your own Containers