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

  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. Orchestrating Containers with Docker Compose
    • Container Orchestration
    • Getting Started with Docker Compose
    • The docker-compose.yml File
    • Docker Compose Commands

  5. Introduction to Kubernetes
    • Why Kubernetes?
    • Kubernetes Overview
    • Running Kubernetes Locally
    • The Master Node
    • Worker Nodes and Pods
    • Services and Deployments
    • Files and kubectl Commands
    • The Web UI Dashboard

  6. 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

  7. ReplicaSets and Deployments
    • The Role of ReplicaSets
    • Defining ReplicaSets
    • Working with ReplicaSets
    • The Role of Deployments
    • Defining Deployments
    • Working with Deployments

  8. Working with Services
    • The Role of Services
    • Service Types
    • Creating a Service
    • Service Discovery Process
    • Port Forwarding

  9. Updates and Rollbacks
    • Updating Pods
    • Zero-Downtime Deployments
    • Blue-Green Deployments
    • Rolling Updates
    • Rolling Back Deployments

  10. Storage, ConfigMaps, and Secrets
    • Volumes and Mounts
    • PersistentVolumes and PersistentVolumeClaims
    • StorageClasses
    • ConfigMaps
    • Secrets

  11. Kubernetes in the Cloud with AKS
    • Introduction to Azure Kubernetes Service (AKS)
    • Deploying an AKS Cluster
    • Deploying an Application to an AKS Cluster
    • Additional Concepts

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!