Creating and Running Software Containers with Docker and Singularity

Nov 9, 2022, 4:30 pm6:00 pm
View location on My PrincetonU
  • Princeton faculty, researchers, and postdocs
  • Princeton students, graduate students, researchers, faculty, and staff


Event Description
Software containers allow an application and all of its dependencies to be bundled into a single package. This makes the application portable, shareable and reproducible.

The first part of this workshop will demonstrate how to create and run Docker containers. The second part will consist of hands-on exercises using Singularity, a secure alternative to Docker designed for HPC systems. Participants will learn how to bundle their research data, scripts, and software dependencies into a Singularity image so that others can easily reproduce the results. They will also see how to use the Slurm job scheduler to run parallel and GPU-enabled applications within Singularity containers.

Workshop format: Lecture, demonstration, and hands-on exercises

Target audience: This workshop is geared toward computational researchers interested in learning how to use containers to carry out their work and share their software environments.

Knowledge prerequisites: Basic facility with the Linux command line and with using the Princeton Research Computing clusters.

Hardware/software prerequisites: For this workshop, users must have an account on the Adroit cluster, and they should confirm that they can SSH into Adroit before the workshop.

Learning objectives: Attendees will learn how to create and run software containers.

Instructor bio: Jonathan Halverson is the Research Software and Computing Training Lead with PICSciE and Research Computing. He has an expertise in data science and he is a founding organizer of the TensorFlow & PyTorch User Group at Princeton. Prior to his current position, Jonathan performed polymer physics research at the Max Planck Institute for Polymer Research and nanoscience research at Brookhaven National Laboratory. He holds a Ph.D. in Chemical Engineering from CUNY.