Back to training

Docker 101

About

Containers is a technology that will take over infrastructure management in next few years and its absolutely important to anyone involved in software delivery automation and maintenance to understand the principles behind it and know how to use it. This workshop gives introduction into Linux containers with the help of Docker

Who should attend

The course is for software developers and system administrators willing to have practical introduction into Docker.

Why attend

This training course will get students up-to speed with the containerization technology and allow them start using it in their organization’s software delivery processes.

After completing this course you will be able to:

  • Package applications as Docker images
  • Run, configure, control, orchestrate and monitor Docker containers
  • Fully integrate Docker into software delivery pipeline
  • Set-up Docker networks and clusters
  • Maintain Docker installations

Structure

TThis is a two-day course that will cover these subjects:

Docker history

Docker concepts: host, engine, daemon, client, image, container, layer

Installing Docker inside a virtual machine

Pulling images

  • Pulling images exploring Docker Hub
  • pulling images from Docker Hub and private registries
  • exploring local image cache
  • loading images into local image cache

Running containers

  • long running containers
  • throw-away containers
  • exposing ports
  • setting environment variables
  • sharing data with the host
  • setting limits

Exploring container state

  • listing containers
  • status and resource usage
  • standard streams
  • stopping, killing, pausing

Creating images

  • Images from existing containers
  • Building images using Dockerfile: selecting base image; defining image parameters: arguments, environment, ports, volumes, shared files

Networking

  • Creating network and linking containers
  • Handling communication with the host

Orchestrating

  • Creating Docker Compose configuration
  • Defining containers, networks, volumes
  • Using Ansible to provision images and orchestrate containers

Clustering

  • Using remote Docker engine
  • Setting up Docker Swarm node

Keeping Docker host clean

  • Monitoring Docker host
  • Visualizing image and container layer dependencies
  • Removing containers and images
  • Removing images
  • Setting up docker-gc

The practical exercises (apart from playing with Docker commands) will include full configuration of running clustered application connected to a data store and configuration server with the help of Docker containers.

Prerequisites 

All material used in the course has been developed by the teacher and will be available for the students after the course. The students are expected to bring a laptop with an environment set-up according to preparation instructions sent before the course. All additional tools will be available for the students on a USB stick together with solutions to the exercises.

Practical details

  • Included: welcome coffee, lunch and coffee breaks
  • Training language: English

Need a customized workshop? Contact us and we’ll adapt the content as required