• Deadline for applications: 6 Sep 2018
  • Course date: 26-27 Sep 2018

VENUE: University of Milano-Bicocca
Lab. 715, U7 Building (link to the map)
via Bicocca degli Arcimboldi, 8
20126 Milano, Italy

FEE: The course does not include a fee, but the participants are expected to pay their own travel, meals and hotel costs (if any).

A maximum of 20 candidates will be selected based on their need for the course as emerging from the application form. Chosen participants will be notified by 10th September 2018. Priority will be given to candidates from ELIXIR-IIB member institutions (see the list at the bottom) and ELIXIR nodes.

Cancellation policy: Attendance is limited to 20 participants. We expect many more applications. Accepted participants commit to attend the course for its whole duration. Failure to attend training sessions is disruptive. Moreover, it blocks other candidates from participating. Therefore a cancellation policy is in place so that only written requests presented 10 days in advance relatively to the course starting date are accepted.


  • Gianluca Della Vedova - Department of Computer Science, University of Milano-Bicocca, IT
  • Raoul Bonnal - Istituto Nazionale Genetica Molecolare “Romeo ed Enrica Invernizzi”​ (INGM), Milano, IT


  • Gianluca Della Vedova - Department of Computer Science, University of Milano-Bicocca, IT
  • Loredana Le Pera - ELIXIR-IIB Training Coordinator Deputy, IBIOM-CNR, IT
  • Allegra Via - ELIXIR-IIB Training Coordinator, IBPM-CNR, IT


For all kinds of queries, please contact the local organiser Gianluca Della Vedova at:

Course Description

Docker is used to run “containers” that are essentially lightweight virtual machines. Containers are isolated from each other and use their own set of tools and libraries; they can communicate through well-defined channels. This allows to easily deploy programs since all requisites of a program are stored inside the containers. This course will provide the basic notions and tool to allow a developer to “dockerize” her programs, and to manage a set of containers, hence greatly improving the installation process.

Target audience

This course is aimed at developers, DevOps in any field.

Learning outcomes

By the end of this course, learners will be independently able to use docker to deploy their own applications, especially in an HPC setting, and to manage a set of coordinated docker applications.

Course prerequisites

The participants will need to know how to execute and manage docker images (docker commands: run ps images)

Application Form

Preliminary programme

Wednesday - 26 Sep 2018

09:00 - 10:30 Presentation of the course and quick Introduction to Docker
10:30 - 11:00 Coffee break
11:00 - 12:30 Interactions between containers and between a container and the host system: volumes and mount points
12:30 - 13:30 Lunch break
13:30 - 15:00 Writing a Dockerfile. Dockerfile best practices
15:00 - 15:30 Coffee break
15:30 - 17:00 Dockerizing an application (part 1)
17:00 End of Day 1

Thursday - 27 Sep 2018

09:00 - 10:30 Dockerizing an application (part 2)
10:30 - 11:00 Coffee break
11:00 - 12:30 Managing and deploying images
12:30 - 13:30 Lunch break
13:30 - 15:00 Docker and singularity
15:00 - 15:30 Coffee break
15:30 - 17:00 Case studies
17:00 End of course

ELIXIR-IIB member institutions

  • CNR (ELIXIR-IIB coordinator)
  • CRS4
  • Fondazione Edmund Mach, Trento
  • INFN
  • GARR
  • Sapienza Università di Roma
  • Università di Bari
  • Università di Bologna
  • Università di Firenze
  • Università di Milano
  • Università di Milano Bicocca
  • Università di Padova
  • Università di Parma
  • Università di Roma "Tor Vergata"
  • Università di Salerno
  • Università della Tuscia