HPC 8: Docker and Singularity: Containers for HPC

Course Content

As software and data containerisation are becoming important tools to ensure the reproducibility of research workflows, the correct tools are needed to facilitate the management and migration of containers between desktop, cloud and HPC platforms.

 

Docker is probably the most widely recognised of the container platforms and works well in many situations. For High Performance Computing clusters though, Singularity provides more flexibility for running containers in user space.

In this workshop, we will provide hands-on experience in creating and managing Docker and Singularity containers for research and using Docker together with Singularity in order to manage and run containers on a HPC platform.

The practical activities will be illustrated with software examples and use-cases from a range of research domains.

The workshop will include practical sessions on:

  • Best practice in designing and creating containerised software stacks
  • Creating native Docker and Singularity containers
  • Considerations for GPU and MPI support
  • Converting Docker containers to Singularity containers and vice-versa
  • Automating container build and test using Github, Dockerhub and Singularity Hub
  • Deploying and running containers on a HPC cluster
  • Sharing and citing containers

All the tools needed to build and test containers will be provided in a virtual machine. This will be available for use after the workshop to create containers for your own research use.

Prerequisites

This workshop is aimed at people who have experience with using the Linux command line and using the HPC clusters.

Duration

One day

Frequency

This workshop usually runs once each academic year.

Suitability

Research postgraduate students and above; teaching and lecturing staff.

Booking

This course is booked through the IT Training Unit