4.61 out of 5
685 reviews on Udemy

Docker Swarm Mastery: DevOps Style Cluster Orchestration

Build, automate, and monitor a server cluster for containers using the latest open source on Linux and Windows
Bret Fisher
6,082 students enrolled
Create a multi-node highly-available Swarm cluster on Linux and Windows.
Remotely orchestrate complex multi-node systems from macOS, Windows, or Linux.
Update your containers using rolling updates, healthchecks, and rollbacks.
Ensure zero-downtime updates by understanding service startup and shutdown details.

Welcome to the most complete and up-to-date course for learning SwarmKit and using Docker Swarm end-to-end, from development and testing, to deployment and production.  Discover how easy and powerful Docker Swarm Mode multi-host orchestration can be for your applications. This course is taught by a Docker Captain and DevOps consultant who’s also a bestselling Udemy author.

Are you just starting out with container orchestration? Perfect. This course starts out assuming you’re new to Swarm and starts with how to install and configure it.

Or: Are you using Docker Swarm now and need to deal with real-world problems? I’m here for you! See my production topics around storing secrets, controlling rolling updates, events, healthchecks, and more.

BONUS: This course comes with exclusive access to a Slack Chat and Weekly live Q&A with me!

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

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

  • Create a 3-node Swarm cluster locally and (optionally) in the cloud

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

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

  • Deploy container updates in a rolling update HA 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 Swarm in your daily ops and sysadmin roles

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

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

  • Lead your team into the future with the latest Docker Swarm orchestration skills!

Why should you learn from me? Why trust me to teach you the best ways to use Docker Swarm?

  • I’m A Practitioner. Welcome to the real world: I’ve got more than 20 years of sysadmin and developer experience, over 30 certifications, and have been using Docker and the container ecosystem for myself and my consulting clients since Docker’s early days. My clients use Docker Swarm in production. With me, you’re learning from someone who’s run hundreds of containers across dozens of projects and organizations.

  • I’m An Educator. With me, you’re 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, and Linux Open Source Summit.

  • 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 and Twitter, where I learn from and help others.


“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 Swarm features and workflows 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 docker skills. Look at the scope of topics in the Session and see the breadth of skills you will learn.

Also included is a private Slack Chat group for getting help with this course and continuing your Docker Swarm 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, Docker Mastery Course Student

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.

  • Tons of reference links to supplement this content.

  • Updates to content as Docker changes their features on these topics.

Thanks so much for considering this course. Come join me and thousands of others in this course (and my others) for learning one of the coolest pieces of tech today, Docker Swarm!

Introduction and Course Overview

Black Friday 2018 Update!
Introduction and Course Roadmap

Basic overview of the course Sections and where to start based on your experience level.

Your First Swarm Service

A quick hands-on preview of what you'll be doing in this course. Don't worry, I'll explain all the details of what you're doing in this video throughout the course.

Let's Meet Bret!

Learn a bit about Bret and this community of DevOps and Docker fans.

Course Resources and Tools

Getting The Course Files (GitHub Repo)

All the code, slides, and commands used in this course.

Course Slack Room: Chat Live With Me and Other Students

Use our Slack community to get help throughout the course, and talk with other Docker users.

Weekly YouTube Live Q&A with Bret

Join Bret on YouTube Live every week for getting questions answered about Docker Mastery and all things containers.

Ensure You Have The Latest Docker

This course expects you to have 17.09 or newer on your local machine (along with docker-compose and docker-machine). We'll use those tools to build and manage Swarms.

Swarm Intro and Creating a 3-Node Swarm Cluster

Swarm Mode: Built-In Orchestration

Learn how Docker has some great built-in features for scaling your containers and operating a cluster.

Create Your First Service and Scale It Locally

Let's use your local docker in a 1-node Swarm to learn the basics.

UI Change For Service Create/Update
November 2018: Docker Machine Bug With Swarm

Note that 18.09.0 release has a bug in docker-machine with Swarm ports not working.

Creating a 3-Node Swarm Cluster

You'll build a 3-host Swarm cluster so we can scale our apps out for high-availability.

Using the Swarm Visualizer

Throughout this course, the sample app "Swarm Visualizer" will help you see visually where containers are running.

Swarm Basic Features and How to Use Them In Your Workflow

Scaling Out with Overlay Networking

Learn how Swarm can seamlessly let containers talk between hosts.

Scaling Out with Routing Mesh

See how Swarm can accept packets on any Swarm node and route to the proper container.

Create A Multi-Service Multi-Node Web App
Swarm Stacks and Production Grade Compose

Learn how to use your existing compose files in a production Swarm cluster.

Secrets Storage for Swarm: Protecting Your Environment Variables

With this lesson you'll learn why you need to protect secrets and how Swarm enables you to do that easily.

Using Secrets in Swarm Services

Walk through the features of Secrets and how to store private information securely and ensure they get to only the containers that need them.

Using Secrets with Swarm Stacks

Learn how to deploy Stacks with Secrets referenced in your compose YAML files.

Create A Stack with Secrets and Deploy

Swarm App Lifecycle

Using Secrets With Local Docker Compose

Understand how to use "simulated" secrets with the docker-compose CLI.

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

Learn how a single or multiple compose files can serve both dev and ops on local machines, in your CI automation, and in CD for production deployments.

Service Updates: Changing Things In Flight

Learn key features of the service update command and when to use it for updating your containers while the are live.

Healthchecks in Dockerfiles

Controlling Container Placement in Swarm

Section Overview: 5 Ways To Control Container Placement

Learn about different ways Swarm lets you control where your containers run.

Service Constraints

Use metadata matching to control which node your service tasks run on.

Service Mode

Learn how Global is different from the default Replicated mode, and its uses.

Service Placement Preference

Ensure your containers are spread out across architecture values like racks, zones, or datacenters.

Node Availability

Learn how to set nodes to various availability options, which will affect if containers can run on them.

Service Resource Requirements

Learn about setting minimum and maximum memory and cpu resources per container, and how that affects service task placement.

Control Container Placement
Section Review

A quick refresher of what you learned about container placement in this Section.

Operating Docker Swarm in Production

Service Logs: When To Use Them and Their Limits

Learn how to easily see all the logs for a service from multiple containers at once.

Docker Events and Viewing Them In Swarm

Hands-on with the powerful events command for seeing all the actions Swarm is taking in the background.

Using Swarm Configs To Save Time

Add your app configs to Swarm Raft and easily use them in containers.

Limit Downtime with Rolling Updates, Healthchecks and Rollbacks

Section Overview - Rolling Updates

Get a quick overview of all the things you'll learn in this Section about "Day 2 Operations" around updating services.

Rolling Service Updates

Learn about the details of "behind the scenes" of Swarm service updates. Also learn tools we'll use in this section for testing and learning.

Testing Rolling Service Updates

At CLI, lets test a real rolling update and see how new connections are handled during container replacement using common industry tools.

Timeline of a Service Update

Learn the step-by-step actions Swarm is taking on your app when you ask it to update a Service. These steps are critical to know before going production!

Assignment - Try Update Options

Learn your next Assignment: doing your own updates with custom options.

Assignment ANSWERS - Try Update Options

Watch me walk through the Assignment activities.

How Healthchecks Affect Updates

Learn how important healthchecks are to rolling updates.

Testing Updates with Healthchecks

Use the CLI to test updates with and without healthchecks and see the real difference.

Assignment - Use Healthchecks with Rolling Updates

Get to work adding healthchecks to services and learning with hands on.

Assignment ANSWERS - Use Healthchecks with Rolling Updates

Watch me walk through the Assignment activities.

Gracefully Handle Update Failures with Rollbacks

Learn about rollbacks, your fail-safe feature for keeping failed updates from killing your services.

Testing Update Failures with Rollbacks

Use the CLI to test various rollback scenarios including auto-rollback when healthchecks are used in updates.

Assignment - Add Healthchecks and Updates on Voting App

Get your assignment instructions.

Assignment ANSWERS - Add Healthchecks and Updates on Voting App

Watch me walk through the Assignment activities.

Section Review

Section Review for Service Updates

What's Next?

Here's The List of Sections Coming Next
DockerCon EU 2018: The Future of Swarm and Kubernetes

After I got back from DockerCon in December 2018, I thought I'd share what I see going on with container orchestration without all the hype. I talked to lots of people at DockerCon about what they use and why.

More Swarm Stack Examples in Dog vs. Cat Repo

DevOps and Docker Clips

DevOps and Docker Talk Intro
How to Update Secrets and Configs in Stacks
Swarm Service Fails Deployment When Image Prunes

Someone asks about image pruning while a Swarm service is in the middle of deployment, and how they've experienced failed containers. I reply with the details of what's going on in specific steps of a Service creation and deployment, and how the prune command could interfere.

Updating A Proxy From A Different Container

I answer a question about how to control docker and other containers like a nginx proxy from inside a separate container.

Auto Setup of Mongo Replicas in Docker

I give a quick answer on how you might design MongoDB and other database servers for auto clustering inside Docker

Learning The New Docker App with Michael Irwin

In March of 2019 I talked with Michael about the new "docker-app" experimental tool. This clip talks about why it exists, and how to use it. In April 2019 Docker released a beta of 19.03 that includes "docker-app" as a plugin to the standard docker CLI, as "docker app", but most other features of this tool stay the same. We also talk about the standard behind this tool, CNAB.

Swarm Volume Storage Drivers

Docker Captain Michael Irwin and I go over various storage options for persistent volumes in Swarm, and how you need to think about storage for Docker.

Backing Up a Database Container in Swarm

Docker Captain Michael Irwin and I discuss backups of databases in a container cluster like Docker Swarm.

Extra's, Common Questions, and Resources

Bret's DockerCon Talks! Production Docker and Swarm

Videos on "Evolving your Infrastructure and Processes" with Docker

The Future of Swarm
Swarm Raft Quorum and Recovery (Laura Frank from DockerCon 2017)

Learn how the raft protocol works to keep modern orchestrators in sync, and how to recover from failures.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.6 out of 5
685 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


8 hours on-demand video
13 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion