Containers for HPC with Docker and Singularity

Duration

Half day

Suitability

Research postgraduate students and above; teaching and lecturing staff.

Course Content

As software and data containerisation are becoming important tools to ensure the reproducibility of research workflows, the correct applications 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 Vagrant 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.

Booking

This course is booked through the IT Training Unit