The aim of this module is to introduce Docker and Podman as software development tools and to explore their role in reproducible research.
Originally developed by Matthew Feickert for the 2019 USATLAS Computing Bootcamp at LBNL.
Prerequisites
Basic knowledge of the Unix Shell, e.g., from the carpentry course
Learning Objectives
After completing this module, participants will be able to:
- Understand the concept of containers and their role in reproducible research.
- Explain the purpose of containerization tools such as Docker and Podman.
- Download (pull), run, and manage container images and container instances.
- Understand how containers interact with the local file system.
- Write and build basic container images using Dockerfiles.
- Explain how containers can be shared to support reproducibility and collaboration.
HSF Software Training
This training module is part of the HSF Software Training Center, a series of training modules that serves HEP newcomers the software skills needed as they enter the field, and in parallel, instill best practices for writing software.