Reproducibility in Computational Biology

Medical Microbiology Maastricht UMC

October 2nd, 2020

@ines_cim

cimendes

Inês Mendes

Containerization with Docker

Software Containers

 | What is it?

In the Paleolithic era:

Virtual Machines

“Bare Metal” Installation

Software Containers

 | What is it?

In the Modern days:

Software Containers

Software Containers

Runs the same regardless of the environment.

A container image is a lightweight, stand-alone, executable package of a software that includes everything needed to run it:

  • code
  • runtime
  • system tools
  • system libraries

 | What is it?

Software Containers

 | What is it?

Host Hardware

Host Hardware

Container Engine

Host OS

Host OS

Hypervisor

Guest OS

Guest OS

App

App

Guest OS

VM1

VM2

App

App

App

App

Virtual Machines

Containers

Docker

 | Why Docker

Pros:

Cons:

  • Fast and easy to set up
  • Very well documented
  • Has public container registries (DockerHub)
  • Multi-platform support
  • Support for container orchestration (DockerCompose)
  • Poor Monitoring (3rd party tools)
  • Requires sudo for installation & run (uDocker)
  • Closed-Source & commercial

Docker

 | Why Docker

Pros:

Cons:

  • Fast and easy to set up
  • Very well documented
  • Has public container registries (DockerHub)
  • Multi-platform support
  • Support for container orchestration (DockerCompose)
  • Poor Monitoring (3rd party tools)
  • Requires sudo for installation & run (uDocker)
  • Closed-Source & commercial

Almost all container software can deploy Docker Containers!

Docker Hub

build

pull & run

host

push

Docker

 | The ecosysthem

Docker

 | Resources

"Hands on" Demo!

Made with Slides.com