Docker and Kubernetes Core Concepts

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 provides information on how Kubernetes can be used to orchestrate containers. This includes providing a look at the different components that Kubernetes provides (pods, deployments/replicasets, services and more), how to deploy containers, troubleshoot pods, and working with Kubernetes in the cloud.

If you've heard about Docker and Kubernetes and been wondering how to get started using them then this course is for you!

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

Author

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

Container orchestration with Docker Compose

The role of Kubernetes

Key Kubernetes architecture, commands, and concepts

Pods, replicasets, deployments, services

Kubernetes and the cloud

Prerequisites

Comfortable using command-line tools and virtual machines

General familiarity with software development

General familiarity with software deployment

Audience

DevOps, IT admins, or developers looking to get started using Docker and Kubernetes.

Course Outline

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

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

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

Orchestrating Containers with Docker Compose

Container Orchestration

Getting Started with Docker Compose

The docker-compose.yml File

Docker Compose Commands

Introduction to Kubernetes

Why Kubernetes?

The Big Picture

The Master Node

Worker Nodes and Pods

Services, ReplicaSets, and Deployments

Files and kubectl Commands

The Web UI Dashboard

Working with Pods

The Role of Pods

Getting a Pod Up and Running Quickly

Defining a Pod with YAML

Labels

Multi-Container Pods

Pod Health

Troubleshooting Pods and Containers

ReplicaSets and Deployments

The Role of ReplicaSets

Defining ReplicaSets

Working with ReplicaSets

The Role of Deployments

Defining Deployments

Working with Deployments

Working with Services

The Role of Services

Service Types

Creating a Service

Service Discovery Process

Port Forwarding

Updates and Rollbacks

Updating Pods

Zero-Downtime Deployments

Blue-Green Deployments

Rolling Updates

Rolling Back Deployments

Storage, ConfigMaps, and Secrets

Volumes and Mounts

PersistentVolumes and PersistentVolumeClaims

StorageClasses

ConfigMaps

Secrets

Kubernetes in the Cloud with AKS

Introduction to Azure Kubernetes Service (AKS)

Azure CLI

Creating an AKS Cluster

Additional Tools

Helm

Draft

Azure Dev Spaces

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.

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.