Docker Fundamentals Training

To register for the next Docker Fundamentals session, please click here.

Abstract

Setting up and maintaining development and runtime environments for modern software creates numerous challenges. Such challenges are especially significant in agile organisations, which are constantly trying to shorten the value delivery cycle.

The open source tool, Docker, helps to shorten the delivery cycle by allowing environments to be specified in a simple text file. From these files, Docker creates lightweight containers, which have benefits for developers, testers, operations managers and technical leads.

After this course, participants will be able to operate Docker containers, create and share new Docker images and understand the role of Docker within the software delivery cycle. Participants should expect to be able to return to their work with a working understanding of Docker and with some new ideas on how to optimise their own delivery pipelines.

Target Audience
Developers, Operational Engineers, Technical Managers.

Languages
We have teachers who are native speakers in Dutch, English, Hebrew and Russian.

Prerequisites
Very basic Linux knowledge. Be able to execute Linux commands in a terminal.

At least one laptop with latest version of VirtualBox for each two participants.

The Course
The course is split into a small bit of theory and a lot of hands on exercises.

Theory

  • Background – Why we need tools like Docker.
    • Toyota Production System, Lean, Agile.
    • SCM, Continuous Integration, Continuous Delivery, DevOps.
    • Docker overview.
      • The concept of the container.
      • Technical overview of Docker and underlying technologies.
      • The Docker ecosystem (orchestration, clouds, UIs, API).
      • Practical use cases for Docker.

Practical:

  • Setting up and testing Docker environment.
  • Docker basics.
    • run, ps, top, kill, stop, logs, diff, rm, rmi, etc..
    • Disposable, interactive and ghost containers.
    • Re-buildable environments.
    • Writing Docker files
    • Sharing Docker images
    • Running java/perl/python builds and tests inside containers.
      • Ways to inject data into container
      • Editing sources inside and outside of container
    • Connecting Docker containers through the network
    • Using Docker API from a remote node
    • Overview of Docker Eco-system

Duration
1 day.