Docker and Kubernetes

Course Description

Containers have revolutionized the process of developing and deploying applications. They offer many benefits including consistency between environments, predictable deployments, application scaling, management of microservices, and more. While this all sounds great in theory, how do you integrate containers into your existing business processes and reap the benefits they offer? How do you manage containers in production, scale and monitor them, and fix issues that come up?

The Docker and Kubernetes course provides a hands-on look at containers and the role they can play in your development and deployment environments and workflows. You'll learn about the many benefits containers provide, how you can use containers in your environment to work with web servers, databases (and more), key Docker tools and commands that you need to learn to use Docker effectively, how to work with images and containers, as well as how to get a fully functional container environment up and running.

After learning the ins-and-outs of containers, the course dives into orchestrating containers with Kubernetes. This includes providing a look at the different components that Kubernetes provides (pods, replicasets, services and more), how to deploy containers, monitoring and managing containers, and working with Kubernetes in the cloud.

If you've heard about Docker and Kubernetes and been wondering what all of the hype is about and how you can take advantage of them then this course is for you!

This course is taught by Dan Wahlin - a member of the Docker Captains group.


Dan Wahlin

Course Length

4 Days

You Will Learn

  • The role of containers
  • Key Docker tools and commands
  • How to create custom Docker images and run containers
  • How and when to use volumes
  • The role of secrets
  • Container orchestration with Docker Compose
  • The role of Kubernetes
  • Key Kubernetes architecture, commands, and concepts
  • How to create and manage a Kubernetes cluster
  • Pods, controllers and services
  • Kubernetes and the cloud


  • Comfortable using command-line tools and virtual machines
  • General familiarity with software development
  • General familiarity with software deployment


DevOps, IT admins, or developers looking to understand and use Docker and Kubernetes.

Course Outline

  1. Getting Started with Docker
    • Application Deployment
    • Shipping with Containers
    • Getting Started with Docker
    • Benefits to Developers and DevOps
    • Overview of Images and Containers
    • Layered File System
    • Containers vs Virtual Machines
    • Docker and Microservices

  2. Docker Images and Containers
    • Container Registries
    • Working with Images
    • Working with Containers
    • Getting Started with a Custom Dockerfile
    • Building an Image
    • Updating an Image
    • Pushing an Image to a Registry

  3. Containers and Volumes
    • Components Overview
    • Source Code and Containers
    • Introduction to Volumes
    • Creating a Volume
    • Inspecting Volumes
    • Defining a volume in a Dockerfile
    • Local Source Code and Containers

  4. Working with Docker Secrets
    • The Case for Secrets
    • Creating a Docker Secret
    • Accessing a Docker Secret

  5. Orchestrating Containers with Docker Compose
    • Container Orchestration
    • Getting Started with Docker Compose
    • The docker-compose.yml File
    • Docker Compose Commands

  6. Introduction to Kubernetes
    • Why Kubernetes?
    • Kubernetes Overview
    • Running Kubernetes Locally
    • The Master Overview
    • Nodes and Pods Overview
    • Services and Deployments Overview
    • Files and kubectl Commands

  7. Working with Pods
    • The Role of Nodes and Pods
    • Getting a Pod Up and Running
    • Defining a Pod with YAML
    • Key kubectl Pod Commands
    • Multi-Container Pods
    • Monitoring the Health of Pods
    • ReplicaSets and Pods

  8. Working with Nodes
  9. Working with Services
  10. Persistent Storage, ConfigMaps, and Secrets
  11. Deployments, Updates, and Rollbacks
  12. Kubernetes in the Cloud with AKS

Private Onsite/Online Pricing for Development Teams

Class pricing is based on the number of class days and number of students in class. We normally allow up to 24 students per class.

The course pricing includes student access to an electronic version of the course manual, lab manual, sample code and lab code. Courses can also be customized if you'd like to run a shorter or longer version of the course.

If you'd like more information on pricing or want to schedule a class for your development team please contact us and we'll be happy to provide addition details.

Contact Us

Public Classes

We don't offer public classes or one-on-one classes for individuals. For public classes we partner with Interface Technical Training and they offer instructor-led classes in Phoenix, AZ or online through their RemoteLive technology.

Training Courseware

Contact Us about licensing our courseware (slides, course manual, lab manual and code) for your own training courses.


Join Our Development Newsletter!