Using Singularity at Jefferson Lab

Software containers are lightweight, stand-alone, executable packages that includes everything needed to run: code, runtime, system tools, system libraries, settings.

Containers are similar to virtual machines, however, the virtualization happens at a different point.

virtual_machines_vs_containers

Image source: TechTarget

Although it can be hard to give a quick answer as to which one to use, Jack Wallen at TechRepublic boils it down to the following two questions:

Prerequisites

You should have a basic familiarity with Unix shell navigation.

Schedule

Setup Download files required for the lesson
00:00 1. Introduction How can we replicate other operating system environments on?
00:20 2. Running the JLab CE container How can we replicate the Jefferson Lab Common Environment on other systems?
00:35 3. Using docker containers Why should I know about docker containers if I am using singularity?
00:55 4. Building docker containers How do I create my own containers?
01:10 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.