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.
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.
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.