Containerization with Singularity

The Jackson Laboratory


Oct 23, 2020

9:00 am - 1:00 pm

Instructors: Matt Bradley

Helpers: Jason Macklin, Aaron McDivitt, Richard Yanicky, Sue McClatchy, Dave McKenzie

Some adblockers block the registration window. If you do not see the registration box below, please check your adblocker settings.

General Information

Do you use software containers? Have you heard of applications such as Docker and Singularity, but aren't sure where to begin with incorporating them into your workflows? Join us for an introductory workshop hosted by the Research IT Cyberinfrastructure Team. In this four-hour workshop, you will learn:

Singularity represents an exciting new frontier in HPC application development moving on to our newly built research cluster. Come join us and learn how Singularity can help you make your workflows more reproducible and mobile.

Who: The course is aimed at graduate students and other researchers at the Jackson Laboratory. For IT security reasons, external participants will not be admitted. You should have basic shell command skills (e.g. cd, ls) that you would have learned from Introduction to High Performance Computing or a similar course.

Where: This training will take place online. The instructors will provide you with the information you will need to connect to this meeting.

When: Oct 23, 2020. Add to your Google Calendar.

Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.). They should have a few specific software packages installed (listed below).

Accessibility: We are dedicated to providing a positive and accessible learning environment for all. Please notify the instructors in advance of the workshop if you require any accommodations or if there is anything we can do to make this workshop more accessible to you.

Contact: Please email for more information.

Roles: To learn more about the roles at the workshop (who will be doing what), refer to our Workshop FAQ.

Post-workshop survey

Please complete this brief anonymous post-workshop survey to help us understand the impact of this course.


Friday Oct 23

09:00 Introductions
09:10 Container Basics: What is a container?
09:40 How do I use a container?
10:30 Building containers: the basics
10:45 Building containers: Python
11:00 Morning break
11:20 Building containers: STAR from Source
12:00 Adding a signature to your container
12:15 Using containers in batch jobs
12:45 JaxReg: The JAX Container Registry
12:50 Wrap-up
13:00 END


Containers with Singularity

  • Introduction to Singularity containers
  • Interactive Exploration of Containers
  • Build Your Own Containers
  • Reference...


To participate in a workshop, you will need access to the software described below. In addition, you will need an up-to-date web browser.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

Install the videoconferencing client

If you haven't used Webex before, please ask the JAX IT Help Desk to download and install the Webex client for your computer.

The Bash Shell

Bash is a commonly-used shell that gives you the power to do simple tasks more quickly.

  1. Download and install MobaXterm or PuTTY.
  2. If your "HOME" environment variable is not set (or you don't know what this is):
    1. Open command prompt (Open Start Menu then type cmd and press [Enter])
    2. Type the following line into the command prompt window exactly as shown:

      setx HOME "%USERPROFILE%"

    3. Press [Enter], you should see SUCCESS: Specified value was saved.
    4. Quit command prompt by typing exit then pressing [Enter]

The default shell in some versions of macOS is Bash, and Bash is available in all versions, so no need to install anything. You access Bash from the Terminal (found in /Applications/Utilities). See the Git installation video tutorial for an example on how to open the Terminal. You may want to keep Terminal in your dock for this workshop.

To see if your default shell is Bash type echo $SHELL in Terminal and press the enter/return key. If the message printed does not end with '/bash' then your default is something else and you can run Bash by typing bash.

The default shell is usually Bash and there is usually no need to install anything.

To see if your default shell is Bash type echo $SHELL in a terminal and press the enter/return key. If the message printed does not end with '/bash' then your default is something else and you can run Bash by typing bash.