Containerisation with Docker
View Course Diagram
DOCKER
This session aims to introduce the use of Docker containers with the goal of
using them to effect reproducible computational environments. Such environments
are useful for ensuring reproducible research outputs, for example.
After completing this session you should
- Have an understanding of what Docker containers are, why they are useful and the common terminology used
- Have a working Docker installation on your local system to allow you to use containers
- Understand how to use existing Docker containers for common tasks
- Be able to build your own Docker containers by understanding both the role of a Dockerfile in building containers, and the syntax used in Dockerfiles
- Understand how to manage Docker containers on your local system
- Appreciate issues around reproducibility in software, understand how containers can address some of these issues and what the limits to reproducibility using containers are
- The practical work in this lesson is primarily aimed at using Docker on your own laptop. Beyond your laptop, software container technologies such as Docker can also be used in the cloud and on high performance computing (HPC) systems. Some of the material in this lesson will be applicable to those environments too.
A note about Docker
Docker is a mature, robust and very widely used application. Nonetheless, it is
still under extensive development. New versions are released regularly often
containing a range of updates and new features.
While we do our best to ensure that this lesson remains up to date and the
descriptions and outputs shown match what you will see on your own computer,
inconsistencies can occur.