Docker Mastery with Kubernetes Swarm from a Docker Captain

Build, test, deploy containers with the best mega-course on Docker, Kubernetes, Compose, Swarm and Registry using DevOps
Docker Mastery with Kubernetes Swarm from a Docker Captain
File Size :
20.16 GB
Total length :
21h 21m



Bret Fisher


Last update

Last updated 11/2022



Docker Mastery with Kubernetes Swarm from a Docker Captain

What you’ll learn

How to use Docker, Compose and Kubernetes on your machine for better software building and testing.
Learn Docker and Kubernetes official tools from an award-winning Docker Captain!
Learn faster with included live chat group (50,000 members!) and monthly live Q&A.
Gain the skills to build development environments with your code running in containers.
Build Swarm and Kubernetes clusters for server deployments!
Hand’s-on with best practices for making Dockerfiles and Compose files like a Pro!
Build and publish your own custom images.
Create your own custom image registry to store your apps and deploy in corporate environments.

Docker Mastery with Kubernetes Swarm from a Docker Captain


No paid software required – Just install your favorite text editor and browser!
Local admin access to install Docker for Mac/Windows/Linux.
Understand terminal or command prompt basics.
Linux basics like shells, SSH, and package managers. (tips included to help newcomers!)
Know the basics of creating a server in the cloud (on any provider). (tips included to help newcomers!)
Understand the basics of web and database servers. (how they typically communicate, IP’s, ports, etc.)
Have a GitHub and Docker Hub account.


Black Friday 2022 Update: New CI examples with 18 lectures showing you how to automate Docker and Kubernetes in GitHub Actions, including vulnerability scanning, advanced image building, multi-platform builds, and more.2022 Update: Refreshed install and config videos, and more support for Apple Silicon (M1 arm64) and Raspberry Pi’s!Be ready for the Dockerized future with the number ONE Docker + Kubernetes mega-course on Udemy. Welcome to the most complete and up-to-date course for learning and using containers end-to-end, from development and testing, to server deployments and production. Taught by an award-winning Docker Captain and DevOps consultant.Just starting out with Docker? Perfect. This course starts out assuming you’re new to containers.Or: Using Docker now and need to deal with real-world problems? I’m here for you! See my production topics around Swarm, Kubernetes, secrets, logging, rolling upgrades, and more.BONUS: This course comes with Slack Chat, Discord Chat server, and live monthly YouTube Q&As with me!”I’ve followed another course on (Udemy). This one is a million times more in depth.” “…when it comes to all the docker stuff, this is the course you’re gonna want to take” – Student Udemy ReviewWhy should you learn from me? Why trust me to teach you the best ways to use Docker?   (Hi, I’m Bret, please allow me to talk about myself for a sec):I’m A Practitioner. Welcome to the real world: I’ve got 20 years of sysadmin and developer experience, over 30 certifications, and have been using Docker and the container ecosystem for my consulting clients and my own companies since Docker’s early days. Learn from someone who’s run hundreds of containers across dozens of projects and organizations.I’m An Educator. Learn from someone who knows how to make a syllabus: I want to help you. People say I’m good at it. For the last few years, I’ve trained thousands of people on using Docker in workshops, conferences, and meetups. See me teach at events like DockerCon, O’Reilly Velocity, GOTO Conf, and Linux Open Source Summit. I hope you’ll decide to learn with me, and join the fantastic online Docker community.I Lead Communities. Also, I’m a Docker Captain, meaning that Docker Inc. thinks I know a thing or two about Docker and that I do well in sharing it with others. In the real-world: I help run two local meetups in our fabulous tech community in Norfolk/Virginia Beach USA. I help online: usually in Slack, Discord, and Twitter, where I learn from and help others.”Because of the Docker Mastery course, I landed my first DevOps job. Thank you Captain!” – Student Ronald Alonzo”There are a lot of Docker courses on Udemy — but ignore those, Bret is the single most qualified person to teach you.” – Kevin Griffin, Microsoft MVPGiving Back: a portion of my profit on this course will be donated to supporting open source and protecting our freedoms online! This course is only made possible by the amazing people creating open source. I’m standing on the shoulders of (open source) giants! Donations will be split between my favorite charities including the Electronic Frontier Foundation and Free Software Foundation. Look them up. They’re awesome!This is a living course and will be updated as Docker and Kubernetes features change.This course is designed to be fast at getting you started but also get you deep into the “why” of things. Simply the fastest and best way to learn the latest container skills. Look at the scope of topics in the Session and see the breadth of skills you will learn.Also included are Slack and Discord servers with 50k+ students for getting help with this course and continuing your Docker and DevOps learning with help from myself and other students.”Bret’s course is a level above all of those resources, and if you’re struggling to get a handle on Docker, this is the resource you need to invest in.” – Austin Tindle, Course StudentSome of the many cool things you’ll do in this course:Edit web code on your machine while it’s served up in a containerLock down your apps in private networks that only expose necessary portsCreate a 3-node Swarm cluster in the cloudInstall Kubernetes and learn the leading server cluster toolsUse Virtual IP’s for built-in load balancing in your clusterOptimize your Dockerfiles for faster building and tiny deploysBuild/Publish your own custom application imagesLearn the differences between Kubernetes and SwarmCreate your own image registryUse Swarm Secrets to encrypt your environment configs, even on diskDeploy container updates in a rolling always-up designCreate the config utopia of a single set of YAML files for local dev, CI testing, and prod cluster deploysAnd so much more… After taking this course, you’ll be able to:Use Docker in your daily developer and/or sysadmin rolesDeploy apps to KubernetesMake Dockerfiles and Compose filesBuild multi-node Swarm clusters and deploying H/A containersMake Kubernetes YAML manifests and deploy using infrastructure-as-code methodsBuild a workflow of using Docker in dev, then test/CI, then production with YAMLProtect your keys, TLS certificates, and passwords with encrypted secretsKeep your Dockerfiles and images small, efficient, and fastRun apps in Docker, Swarm, and Kubernetes and understand the pros/cons of eachDevelop locally while your code runs in a containerProtect important persistent data in volumes and bind mountsLead your team into the future with the latest Docker container skills! Extra things that come with this course:Access to the course Slack team, for getting help/advice from me and other students.Bonus videos I put elsewhere like YouTube, linked to from this course’s resources.Join me on weekly DevOps Live streams and demos on YouTube Live.Tons of reference links to supplement this content.Updates to content as Docker changes their features on these topics.


Section 1: Quick Start!

Lecture 1 What is Docker in 2022? The Three Innovations

Lecture 2 Quick Container Run

Lecture 3 Why Docker? Why Now in 2022?

Section 2: Course Introduction

Lecture 4 Course Roadmap (overview)

Lecture 5 Getting Course Resources (GitHub Repo)

Lecture 6 Course Chat with Students Learning Containers

Lecture 7 YouTube Live Q&A with Bret

Lecture 8 The Big FAQ

Section 3: The Best Way to Setup Docker for Your OS

Lecture 9 Installing The Right Docker for this course

Lecture 10 Installing Docker: The Fast Way

Lecture 11 Docker for Windows: Setup and Tips

Lecture 12 Docker for Mac: Setup and Tips

Lecture 13 Docker for Linux Desktop: Setup and Tips

Lecture 14 Docker for Linux Server: Setup and Tips

Lecture 15 VS Code for DevOps, Docker, and YAML Editing

Lecture 16 Docker Version and Products Changes

Section 4: Creating and Using Containers Like a Boss

Lecture 17 Check Our Docker Install and Config

Lecture 18 Starting a Nginx Web Server

Lecture 19 Debrief: What Happens When We Run a Container

Lecture 20 Container VS. VM: It’s Just a Process

Lecture 21 Windows Containers: Should You Consider Them?

Lecture 22 Arm support for MySQL

Lecture 23 Assignment: Manage Multiple Containers

Lecture 24 Assignment Answers: Manage Multiple Containers

Lecture 25 What’s Going On In Containers: CLI Process Monitoring

Lecture 26 Use MariaDB rather than MySQL

Lecture 27 Getting a Shell Inside Containers: No Need for SSH

Lecture 28 Docker Networks: Concepts for Private and Public Comms in Containers

Lecture 29 FIXME: Change In Official Nginx Image Removes Ping

Lecture 30 Docker Networks: CLI Management of Virtual Networks

Lecture 31 Docker Networks: DNS and How Containers Find Each Other

Lecture 32 Assignment: Using Containers for CLI Testing

Lecture 33 Assignment Answers: Using Containers for CLI Testing

Lecture 34 Changes To Upcoming Assignment

Lecture 35 Assignment: DNS Round Robin Test

Lecture 36 Assignment Answers: DNS Round Robin Test

Section 5: Container Images, Where To Find Them and How To Build Them

Lecture 37 What’s In An Image (and What Isn’t)

Lecture 38 The Mighty Hub: Using Docker Hub Registry Images

Lecture 39 Images and Their Layers: Discover the Image Cache

Lecture 40 Image Tagging and Pushing to Docker Hub

Lecture 41 Building Images: The Dockerfile Basics

Lecture 42 Building Images: Running Docker Builds

Lecture 43 Building Images: Extending Official Images

Lecture 44 Assignment: Build Your Own Dockerfile and Run Containers From It

Lecture 45 Assignment Answers: Build Your Own Dockerfile and Run Containers From It

Lecture 46 Using Prune to Keep Your Docker System Clean (YouTube)

Section 6: Container Lifetime & Persistent Data: Volumes, Volumes, Volumes

Lecture 47 Container Lifetime & Persistent Data

Lecture 48 Persistent Data: Data Volumes

Lecture 49 Shell Differences for Path Expansion

Lecture 50 Persistent Data: Bind Mounting

Lecture 51 Assignment: Database Upgrades with Named Volumes

Lecture 52 Assignment Answers: Database Upgrades with Named Volumes

Lecture 53 File Permissions Across Multiple Containers

Lecture 54 Assignment: Edit Code Running In Containers With Bind Mounts

Lecture 55 Assignment Answers: Edit Code Running In Containers With Bind Mounts

Lecture 56 Database Passwords in Containers

Section 7: Making It Easier with Docker Compose: The Multi-Container Tool

Lecture 57 Docker Compose and The docker-compose.yml File

Lecture 58 Compose V2

Lecture 59 Trying Out Basic Compose Commands

Lecture 60 Version Dependencies in Multi-Tier Apps

Lecture 61 Assignment: Build a Compose File For a Multi-Container Project

Lecture 62 Assignment Answers: Build a Compose File For a Multi-Container Project

Lecture 63 Adding Image Building to Compose Files

Lecture 64 Assignment: Compose For Image Building

Lecture 65 Assignment Answers: Compose For Image Building

Section 8: Swarm Intro and Creating a 3-Node Swarm Cluster

Lecture 66 Swarm Mode: Built-In Orchestration

Lecture 67 Create Your First Service and Scale It Locally

Lecture 68 UI Change For Service Create/Update

Lecture 69 Use Multipass to create Docker, Swarm, and K8s VMs

Lecture 70 Creating a 3-Node Swarm Cluster

Section 9: Swarm Basic Features and How to Use Them In Your Workflow

Lecture 71 Scaling Out with Overlay Networking

Lecture 72 Scaling Out with Routing Mesh

Lecture 73 Assignment: Create A Multi-Service Multi-Node Web App

Lecture 74 Assignment Answers: Create A Multi-Service Multi-Node Web App

Lecture 75 Swarm Stacks and Production Grade Compose

Lecture 76 Secrets Storage for Swarm: Protecting Your Environment Variables

Lecture 77 Using Secrets in Swarm Services

Lecture 78 Using Secrets with Swarm Stacks

Lecture 79 Assignment: Create A Stack with Secrets and Deploy

Lecture 80 Assignment Answers: Create A Stack with Secrets and Deploy

Section 10: Swarm App Lifecycle

Lecture 81 Using Secrets With Local Docker Compose

Lecture 82 Full App Lifecycle: Dev, Build and Deploy With a Single Compose Design

Lecture 83 Service Updates: Changing Things In Flight

Lecture 84 Healthchecks in Dockerfiles

Lecture 85 Info on Swarm Mastery

Section 11: Container Registries: Image Storage and Distribution

Lecture 86 Docker Hub: Digging Deeper

Lecture 87 Understanding Docker Registry

Lecture 88 Run a Private Docker Registry

Lecture 89 Assignment: Secure Docker Registry With TLS and Authentication

Lecture 90 Using Docker Registry With Swarm

Lecture 91 Third Party Image Registries

Section 12: Docker in Production

Lecture 92 My DockerCon Talk on Docker and Swarm in Production

Lecture 93 The Future of Swarm

Lecture 94 Swarm Raft Quorum and Recovery (Laura Frank from DockerCon 2017)

Section 13: The What and Why of Kubernetes

Lecture 95 Kubernetes Intro

Lecture 96 What Is Kubernetes

Lecture 97 Why Kubernetes

Lecture 98 Kubernetes vs Swarm

Section 14: Kubernetes Install And Your First Pods

Lecture 99 Section Intro

Lecture 100 Kubernetes Architecture Terminology

Lecture 101 Kubernetes Local Install

Lecture 102 Kubernetes Container Abstractions

Lecture 103 Kubectl run, create, and apply

Lecture 104 Your First Pod With kubectl run

Lecture 105 Cheat Sheets for Kubectl

Lecture 106 Your First Deployment With kubectl create

Lecture 107 Scaling ReplicaSets

Lecture 108 1.18 Changes to Kubectl Run

Lecture 109 Inspecting Kubernetes Objects

Section 15: Exposing Kubernetes Ports

Lecture 110 Section Intro

Lecture 111 Service Types

Lecture 112 Running Netshoot in Kubernetes

Lecture 113 Creating a ClusterIP Service

Lecture 114 Creating a NodePort and LoadBalancer Service

Lecture 115 Kubernetes Services DNS

Section 16: Kubernetes Management Techniques

Lecture 116 Section Intro

Lecture 117 Run, Expose, and Create Generators

Lecture 118 The Future of Kubectl Run

Lecture 119 Imperative vs. Declarative

Lecture 120 Three Management Approaches

Section 17: Moving to Declarative Kubernetes YAML

Lecture 121 Section Intro

Lecture 122 Kubectl apply

Lecture 123 Kubernetes Configuration YAML

Lecture 124 Building Your YAML Files

Lecture 125 Building Your YAML Spec

Lecture 126 Dry Runs and Diff’s

Lecture 127 Labels and Label Selectors

Section 18: Your Next Steps and The Future of Kubernetes

Lecture 128 Section Intro

Lecture 129 Storage in Kubernetes

Lecture 130 Ingress

Lecture 131 CRD’s and The Operator Pattern

Lecture 132 Higher Deployment Abstractions

Lecture 133 Kubernetes Dashboard

Lecture 134 Namespaces and Context

Lecture 135 Future of Kubernetes

Section 19: Automated CI Workflows

Lecture 136 Section Intro: Automation

Lecture 137 The Pull Request

Lecture 138 Automation is the Glue of DevOps

Lecture 139 Basic PR Workflow

Lecture 140 Intermediate PR Workflow

Lecture 141 Advanced PR Workflow

Section 20: GitHub Actions Workflow Examples

Lecture 142 Section Intro

Lecture 143 Assignments for this Section

Lecture 144 Add Basic Docker Build

Lecture 145 Add BuildKit Cache

Lecture 146 Add Multi-Platform Builds

Lecture 147 Add Metadata and Dynamic Tags

Lecture 148 Add GitHub Comments

Lecture 149 Add CVE Scanning of Images

Lecture 150 Add CVE Scan Blocking

Lecture 151 Add Unit & Integration Testing

Lecture 152 Add Kubernetes Smoke Test

Section 21: Docker Security Good Defaults and Tools

Lecture 153 Section Intro: Top 10 Security Steps for Docker

Lecture 154 Docker Cgroups and Namespaces

Lecture 155 Docker Engine’s Out-Of-The-Box Security Features

Lecture 156 Docker Bench, The Host Configuration Scanner

Lecture 157 Using USER in Dockerfiles to Avoid Running as Root

Lecture 158 Docker User Namespaces for Extra Host Security

Lecture 159 Code Repo and Image Scanning for CVE’s

Lecture 160 Sysdig Falco, Content Trust, and Custom Seccomp and AppArmor Profiles

Lecture 161 Docker Rootless Mode

Lecture 162 The Security Top 10 Differences for Windows Containers

Lecture 163 What are Distroless Images?

Lecture 164 Are Swarm and Kubernetes Secrets Really Secure?

Section 22: Docker 19.03 Release New Features

Lecture 165 Section Intro

Lecture 166 BuildKit and the new Docker buildx CLI

Lecture 167 Docker Context and SSH Connections

Lecture 168 Docker App and Image Packaging of Compose YAML

Lecture 169 Rootless Mode in Docker Engine

Lecture 170 Docker Desktop Enterprise

Lecture 171 Docker Desktop Enterprise Clusters

Section 23: DevOps and Docker Clips

Lecture 172 DevOps and Docker Talk Intro

Lecture 173 Alpine Base Images. Are They Really More Secure?

Lecture 174 Dealing With Non-root Users In Containers and File Permissions

Lecture 175 Apache Web Server Design. Many Sites In One Container, or Many Containers?

Lecture 176 Docker Network IP Subnet Conflicts with Outside Networks

Lecture 177 Raspberry Pi Development in Docker

Lecture 178 Windows 10 Containers Get Process Isolation

Lecture 179 Should You Move Postgres to Containers

Lecture 180 Using Supervisor To Run Multiple Apps In A Container

Lecture 181 Should You Use Docker Compose or Swarm For A Single Server?

Lecture 182 Docker Environment Configs, Variables, and Entrypoints

Lecture 183 Java and JBoss in Containers. One .war File Per Container?

Lecture 184 TLS in Dev and Prod with Docker

Lecture 185 Multiple Docker Images From One Git Repo

Lecture 186 Docker + ARM, Using Raspberry Pi or AWS A1 Instances with Docker

Lecture 187 Docker and Swarm RBAC Options

Lecture 188 ENTRYPOINT vs. CMD, what’s the difference in Dockerfiles

Lecture 189 How to Use External Storage in Docker

Lecture 190 Can I Turn a VM into a Container?

Lecture 191 Startup Order With Multi-Container Apps

Section 24: Dockerfiles and Docker Images in 2022

Lecture 192 DockerCon 2022 Talk

Lecture 193 Node.js Rocks in Docker

Section 25: Dockerfile and Compose File Reviews

Lecture 194 Section Intro – My Reviews Of Your Dockerfiles

Lecture 195 Real World PHP Dockerfile Review

Lecture 196 Real World PHP, Apache, and Alpine Dockerfile Review

Lecture 197 Real World PHP and FPM Dockerfile Review

Lecture 198 Real World Elasticsearch Compose Stack File

Section 26: Extra’s, Common Questions, and Resources

Lecture 199 Node.js Good Defaults For Docker

Lecture 200 PHP and Docker Good Defaults Project Template

Lecture 201 About the DCA (Docker Certificated Associate) and Kubernetes Certifications

Lecture 202 Bonus

Software developers, sysadmins, IT pros, and operators at any skill level.,Anyone who makes, deploys, or operates software on servers.

Course Information:

Udemy | English | 21h 21m | 20.16 GB
Created by: Bret Fisher

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top