You are viewing content from a past/completed QCon

Workshop: [SOLD OUT] Docker Intensive Course

Location: St James, 4th flr.

Duration: 9:00am - 4:00pm

Day of week: Thursday

Level: Beginner

Key Takeaways

  • First steps with Docker
  • Building and optimizing images
  • Managing lifecycle of containers
  • Networking and service discovery
  • Defining stacks with Docker Compose

Prerequisites

The content is suitable for beginners, but will also introduce and demonstrate many useful concepts for people who already have experience with Docker (for instance, image optimization and multi-stage builds).

No previous knowledge of Docker or containers is required, but you will need some basic UNIX command-line skills. It is recommended that you know how to use a UNIX editor (like vi or emacs).

You won't need to pre-install Docker before the course: each student will be given credentials to connect to an individual virtual machine. So all you need is a computer with a SSH client!

Docker and containers can help developers in many ways: providing clean, isolated development environments; quickly spinning up test instances for CI purposes; ensuring coherence between development and production platform; and much more.

This hands-on workshop will give you an opportunity to dive in, see Docker in action, and learn how to use it for your projects. You will learn about Docker basic concepts, how to run containers, create your own images, write Dockerfiles, optimize build speed and image size, interact with image registries, connect multiple containers together to form complex applications, describe application stacks with Docker Compose, and much more.

What we will cover:

  • First steps with Docker
  • Docker and containers overview
  • The "hello world" of containers
  • Foreground and background containers
  • Containers, images, layers Building images

Building interactively

  • Building with a Dockerfile
  • Understanding the build cache
  • Reducing image size
  • Multi-stage builds
  • Tips, tricks, and best practices

Managing containers

  • Naming containers
  • Inspecting containers
  • Troubleshooting containers

Stacks of containers

  • Container networking basics
  • The Container Network Model
  • Service discovery
  • Local development workflow
  • Leveraging Compose

This workshop is primarily for developers, but also suitable for system administrators or architects who need to understand the underpinnings of container technology in order to leverage Docker in development, CI, or production environments.

Speaker: Jérôme Petazzoni

Staff Container & Infrastructure Engineer @enixsas

Jérôme was part of the team that built, scaled, and operated the dotCloud PAAS, before that company became Docker. He worked seven years at the container startup, where he wore countless hats and ran containers in production before it was cool. He loves to share what he knows, which led him to give hundreds of talks and demos on containers, Docker, and Kubernetes. He trained thousands of people to deploy their apps in confidence on these platforms, and continues to do so as an independent consultant. He values diversity, and strives to be a good ally, or at least a decent social justice sidekick. He also collects musical instruments and can arguably play the theme of Zelda on a dozen of them.

Find Jérôme Petazzoni at

Last Year's Tracks