Docker for Science
Presentation
Docker is the most popular container manager in 2018. A container is conceptually equivalent to a virtual machine (VM). Docker can create a “container” (VM) with all dependencies for a specific app and save an “image” (equivalent to a snapshot of the VM) to an online hub. This way an application can be ran on any machine irrespective of hardware and software environment.
In this presentationslides, I will first cover the basics:
- how to use existing docker images;
- how to create your own image using “dockerfile”;
- how to “ochestrate” multiple images using “docker-compose.yml”.
Then, I will show a practical application of docker in scientific computing. Specifically, I will compile a simulation program with non-trivial dependencies and show how it can be ran with analysis and monitoring programs on any machine using a single “docker-compose up” command.
Tutorials
- PyCon 2015 slides
- Official Tutorial
- Deploy to Amazon cloud (search “AWS Elastic Container Service”)
- House-keeping tips