Reproducible Computational Environments Using Containers: Introduction to Docker and Singularity EPCC Training course at