Docker Mastery: with Kubernetes +Swarm from a Docker Captain
All LevelsDevelopmentDocker

Docker Mastery: with Kubernetes +Swarm from a Docker Captain

Build, test, deploy containers with the best mega-course on Docker, Kubernetes, Compose, GitHub Actions CI using DevOps

Created by Bret Fisher, Docker Captain Program
22.5 hours
Video Content
225
Lectures
334,531
Students
4.6
Rating
4.6
(334,531 students enrolled)

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 (20,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!
Setup GitHub Actions to auto-build your images and scan for security vulnerabilities
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.

Course Content

29 sections • 225 lectures • 22:59:53 total length

Quick Start!

3 lectures • 31:30

What is Docker in 2025? The Three Innovations09:52
Quick Container Run10:51
Why Docker? Why Now in 2025?10:47

Course Introduction

5 lectures • 09:37

Course Roadmap (overview)03:44
Getting Course Resources (GitHub Repo)00:38
Course Chat with Students Learning Containers00:22
YouTube Live Q&A with Bret00:20
The Big FAQ04:31

The Best Way to Setup Docker for Your OS

8 lectures • 01:16:35

Installing The Right Docker for this course09:30
Installing Docker: The Fast Way02:26
Docker for Windows: Setup and Tips17:14
Docker for Mac: Setup and Tips09:52
Docker for Linux Desktop: Setup and Tips13:07
+3 more lectures

Creating and Using Containers Like a Boss

19 lectures • 01:32:27

Check Our Docker Install and Config06:40
Starting a Nginx Web Server08:58
Debrief: What Happens When We Run a Container02:29
Container VS. VM: It's Just a Process04:12
Windows Containers: Should You Consider Them?02:00
+16 more lectures

Container Images, Where To Find Them and How To Build Them

10 lectures • 01:06:53

What's In An Image (and What Isn't)02:04
The Mighty Hub: Using Docker Hub Registry Images11:44
Images and Their Layers: Discover the Image Cache12:41
Image Tagging and Pushing to Docker Hub12:22
Building Images: The Dockerfile Basics06:34
+6 more lectures

Persistent Data: Volumes, Volumes, Volumes

12 lectures • 40:11

Container Lifetime & Persistent Data04:13
Persistent Data: Data Volumes08:47
Shell Differences for Path Expansion00:38
Persistent Data: Bind Mounting07:03
Persistent Data3 questions
+8 more lectures

Dockerfile ENTRYPOINT

11 lectures • 01:14:49

Intro: Review before ENTRYPOINT01:54
Buildtime vs. Runtime04:15
What's an ENTRYPOINT?08:38
Using ENTRYPOINT and CMD together10:35
Shell vs Exec Form07:16
+7 more lectures

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

11 lectures • 58:08

Docker Compose and The docker-compose.yml File10:29
Compose V200:30
Trying Out Basic Compose Commands08:34
Version Dependencies in Multi-Tier Apps01:17
Compose Assignments00:19
+7 more lectures

Swarm Intro and Creating a 3-Node Swarm Cluster

5 lectures • 37:40

Swarm Mode: Built-In Orchestration08:57
Create Your First Service and Scale It Locally12:16
UI Change For Service Create/Update01:00
Use Multipass to create Docker, Swarm, and K8s VMs00:50
Creating a 3-Node Swarm Cluster14:37
+1 more lectures

Swarm Basic Features and How to Use Them In Your Workflow

12 lectures • 01:10:37

Sections Requirements for Swarm, Drupal, and Postgres00:39
Jan 2025: Bug in Play-with-Docker Swarm networking00:24
Scaling Out with Overlay Networking06:42
Scaling Out with Routing Mesh08:54
Docker Swarm Networking4 questions
+8 more lectures

Swarm App Lifecycle

5 lectures • 36:45

Using Secrets With Local Docker Compose02:55
Full App Lifecycle: Dev, Build and Deploy With a Single Compose Design10:10
Service Updates: Changing Things In Flight09:29
Healthchecks in Dockerfiles13:29
Swarm App Lifecycle3 questions
+1 more lectures

Container Registries: Image Storage and Distribution

6 lectures • 29:30

Docker Hub: Digging Deeper07:44
Understanding Docker Registry03:43
Run a Private Docker Registry07:16
Assignment: Secure Docker Registry With TLS and Authentication00:46
Using Docker Registry With Swarm09:29
+2 more lectures

Docker in Production

3 lectures • 45:56

My DockerCon Talk on Docker and Swarm in Production45:14
The Future of Swarm00:19
Swarm Raft Quorum and Recovery (Laura Frank from DockerCon 2017)00:23

The What and Why of Kubernetes

4 lectures • 21:58

Kubernetes Intro00:38
What Is Kubernetes03:39
Why Kubernetes07:23
Kubernetes vs Swarm10:18
The What and Why of Kubernetes4 questions

Kubernetes Architecture and Install

4 lectures • 20:56

Section Intro00:36
Kubernetes Architecture Terminology08:51
Kubernetes Local Install07:51
Kubernetes Container Abstractions03:38
Kubernetes Architecture and Install3 questions

Your First Pods

6 lectures • 31:36

Kubectl run, create, and apply02:57
Your First Pod With kubectl run08:44
Cheat Sheets for Kubectl00:25
Your First Deployment With kubectl create11:03
Scaling ReplicaSets07:18
+2 more lectures

Inspecting Kubernetes Resources

5 lectures • 33:10

Section Intro00:42
Inspecting Resources with Get08:13
Inspecting Resources with Describe08:45
Watching Resources06:48
Container Logs in Kubernetes08:42
+1 more lectures

Exposing Kubernetes Ports

7 lectures • 28:47

Section Intro00:35
Service Types06:52
MicroK8s and DNS for Services00:44
Creating a ClusterIP Service05:02
Running Netshoot in Kubernetes02:14
+3 more lectures

Kubernetes Management Techniques

4 lectures • 22:28

Section Intro00:49
YAML Generators in kubectl Commands08:20
Imperative vs. Declarative07:20
Three Management Approaches05:59

Moving to Declarative Kubernetes YAML

8 lectures • 41:02

Section Intro00:58
Kubectl apply04:13
Kubernetes Configuration YAML06:12
Building Your YAML Files07:12
Building Your YAML Spec08:38
+3 more lectures

Your Next Steps and The Future of Kubernetes

8 lectures • 43:18

Section Intro01:08
Storage in Kubernetes06:07
Ingress04:19
CRD's and The Operator Pattern03:30
Higher Deployment Abstractions10:06
+3 more lectures

Automated CI Workflows

6 lectures • 21:24

Section Intro: Automation03:28
The Pull Request07:04
Automation is the Glue of DevOps03:54
Basic PR Workflow02:10
Intermediate PR Workflow02:20
+1 more lectures

GitHub Actions Workflow Examples

13 lectures • 23:35

Section Intro00:25
Assignments for this Section01:16
Add Basic Docker Build02:54
Add BuildKit Cache02:02
Add Multi-Platform Builds01:15
+8 more lectures

Docker Security Good Defaults and Tools

12 lectures • 52:13

Section Intro: Top 10 Security Steps for Docker01:12
Docker Cgroups and Namespaces04:24
Docker Engine's Out-Of-The-Box Security Features04:36
Docker Bench, The Host Configuration Scanner02:24
Using USER in Dockerfiles to Avoid Running as Root07:44
+7 more lectures

Docker 19.03 Release New Features

7 lectures • 02:32:38

Section Intro00:15
BuildKit and the new Docker buildx CLI23:27
Docker Context and SSH Connections28:43
Docker App and Image Packaging of Compose YAML34:52
Rootless Mode in Docker Engine26:05
+2 more lectures

DevOps and Docker Clips

20 lectures • 02:21:53

DevOps and Docker Talk Intro01:15
Alpine Base Images. Are They Really More Secure?19:49
Dealing With Non-root Users In Containers and File Permissions07:14
Apache Web Server Design. Many Sites In One Container, or Many Containers?03:35
Docker Network IP Subnet Conflicts with Outside Networks05:21
+15 more lectures

Dockerfiles and Docker Images in 2022

2 lectures • 28:18

DockerCon 2022 Talk00:35
Node.js Rocks in Docker27:43

Dockerfile and Compose File Reviews

5 lectures • 42:05

Section Intro - My Reviews Of Your Dockerfiles00:51
Real World PHP Dockerfile Review18:28
Real World PHP, Apache, and Alpine Dockerfile Review03:09
Real World PHP and FPM Dockerfile Review09:04
Real World Elasticsearch Compose Stack File10:33

Extra's, Common Questions, and Resources

4 lectures • 03:46

Node.js Good Defaults For Docker00:27
PHP and Docker Good Defaults Project Template00:26
About the DCA (Docker Certificated Associate) and Kubernetes Certifications01:20
Bonus01:31

Description

This course recommends downloading Docker Desktop and other free virtual machine and container tools. If you are a Udemy Business user, please check with your employer before downloading software.

Proud to be a Docker Inc. ENDORSED course and instructor for 2024/2025!

2025 Update: New advanced ENTRYPOINT startup section with multiple assignments.

2023 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. Kubernetes sections were also updated to reflect CLI updates and 5 new videos on inspecting resources.

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 Review

Why 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 30 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 MVP

Giving 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 Student

Some of the many cool things you'll do in this course:

  • Edit web code on your machine while it's served up in a container

  • Lock down your apps in private networks that only expose necessary ports

  • Create a 3-node Swarm cluster in the cloud

  • Install Kubernetes and learn the leading server cluster tools

  • Use Virtual IP's for built-in load balancing in your cluster

  • Optimize your Dockerfiles for faster building and tiny deploys

  • Build/Publish your own custom application images

  • Learn the differences between Kubernetes and Swarm

  • Create your own image registry

  • Use Swarm Secrets to encrypt your environment configs, even on disk

  • Deploy container updates in a rolling always-up design

  • Create the config utopia of a single set of YAML files for local dev, CI testing, and prod cluster deploys

  • And so much more...

 

After taking this course, you'll be able to:

  • Use Docker in your daily developer and/or sysadmin roles

  • Deploy apps to Kubernetes

  • Make Dockerfiles and Compose files

  • Build multi-node Swarm clusters and deploying H/A containers

  • Make Kubernetes YAML manifests and deploy using infrastructure-as-code methods

  • Build a workflow of using Docker in dev, then test/CI, then production with YAML

  • Protect your keys, TLS certificates, and passwords with encrypted secrets

  • Keep your Dockerfiles and images small, efficient, and fast

  • Run apps in Docker, Swarm, and Kubernetes and understand the pros/cons of each

  • Develop locally while your code runs in a container

  • Protect important persistent data in volumes and bind mounts

  • Lead 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.

Who this course is for:

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

This course includes:

  • 22.5 hours on-demand video
  • 43 articles
  • 39 downloadable resources
  • Access on mobile and TV
  • Full lifetime access
  • Certificate of completion

Instructors

Bret Fisher

Docker Captain Program

Students also download

Explore related courses to expand your learning journey.