Key Information

Tutors: Dr Jianliang (Liam) Gao
Duration: 3 x 2 hour sessions
Delivery: Live (In-Person) & Live (Online)
Course Credit (PGR only): 1 credit 
Audience: Research Degree Students, Postdocs, Research Fellows

Dates

  • 26, 29 & 30 January 2026
    14:00-16:00, South Kensington
  • 13, 14 & 15 May 2026
    11:00-13:00, Zoom

Scientific software is often dependent on other packages and libraries (and specific versions of these). The dependencies are hard to reproduce upon redeployment by collaborators and users who may not share the same system setup. This creates an unnecessary barrier to sharing many excellent software packages making them less shareable and reproducible.

Containers are an effective solution to this problem. The course teaches the fundamentals of creating, deploying and managing containers. You will learn about the essential commands and scripts, about Docker Hub and Singularity (HPC-friendly solution). The workshop will be delivered through a combination of slides, demonstrations and hands-on practice.

Syllabus:

  • What is a container?
  • Docker and Singularity commands
  • Creating containers
  • Visiting Docker Hub
  • Creating own container images
  • Singularity commands

Part 1: Introducing containers, Docker command lines 

In this part, you will learn why containers are used, what containers are, and you will get hands-on practice with Docker (the most popular container tool) command lines.

Part 2: Create containers with examples 

In this part, you will get familiar with creating container images in Docker environment. You will learn to compose Dockerfile and build container images through examples including bash, Python and R. You will get hands-on practice as well. 

Part 3: Share container images and scale up with singularity. 

In this part, you will practice how to share your own container images with others using either Docker Hub distribution or other ways. You will also learn how to run images using singularity on high performance computing cluster.

This course is open to Research Degree Students, Postdocs & Research Fellows. Limited spaces available for wider Imperial community.

Learning Outcomes


On completion of this workshop, you will be better able to:

  • Understand the benefits of using containers for research
  • Use the Docker commands and basic Singularity commands
  • Compose Dockerfiles to create Docker images and manage Docker Hub repository
  • Interpret common errors and use these to help debug a container

Pre-requisites


Knowledge of the fundamentals of the Linux command line and text editing on the command line. Students who have been routinely working with scientific software packages are likely to benefit from this course more than students who are just starting with research computing.

How to book

 

Please ensure you have read and understood ECRI’s cancellation policy before booking