Key Information

Tutors: Dr Jianliang (Liam) Gao
Course Level: Level 2
Course Credit: 1 credit
Prerequisites: 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.
Course Duration: 3 x 2 hour sessions
Format: Live online or live face to face

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

Learning Outcomes:

  • 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

Dates & Booking Information


There are no further sessions taking place this academic year. Course dates for 2024-25 will be available to book from late September.

To book your place, please follow the booking process advertised on the main programme page