Docker Swarm Mastery: DevOps Style Cluster Orchestration
4.6 (1,075 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,705 students enrolled

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
4.6 (1,075 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,705 students enrolled
Last updated 7/2020
English, Portuguese [Auto]
Current price: $62.99 Original price: $89.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 9.5 hours on-demand video
  • 12 articles
  • 14 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 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.
Course content
Expand all 67 lectures 09:44:05
+ Introduction and Course Overview
3 lectures 10:38

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

Preview 03:15

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.

Preview 04:27

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

Preview 02:56
+ Course Resources and Tools
4 lectures 03:23

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

Getting The Course Files (GitHub Repo)

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

Course Slack Chat: 30k Students Learning Containers

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

Weekly YouTube Live Q&A with Bret

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.

Ensure You Have The Latest Docker
+ Swarm Intro and Creating a 3-Node Swarm Cluster
6 lectures 37:47

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

Preview 08:57

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

Create Your First Service and Scale It Locally
UI Change For Service Create/Update

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

Docker Machine Bug With Swarm

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

Preview 14:37

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

Using the Swarm Visualizer
+ Swarm Basic Features and How to Use Them In Your Workflow
7 lectures 47:17

Learn how Swarm can seamlessly let containers talk between hosts.

Scaling Out with Overlay Networking

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

Scaling Out with Routing Mesh
Database Passwords in Containers
Create your own distributed container service, with custom networks and multiple containers dynamically provisioned.
Create A Multi-Service Multi-Node Web App
1 question

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

Swarm Stacks and Production Grade Compose

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

Secrets Storage for Swarm: Protecting Your Environment Variables

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 in Swarm Services

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

Using Secrets with Swarm Stacks
Modify a compose file to make it production-ready and use secrets to pass config values.
Create A Stack with Secrets and Deploy
1 question
+ Swarm App Lifecycle
4 lectures 36:03

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

Using Secrets With Local Docker Compose

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.

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

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

Service Updates: Changing Things In Flight
Healthchecks in Dockerfiles
+ Controlling Container Placement in Swarm
7 lectures 01:01:01

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

Preview 04:35

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

Service Constraints

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

Service Mode

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

Service Placement Preference

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

Node Availability

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

Service Resource Requirements
Customize a Multi-Service Stack File to Control Container Placement in a Swarm.
Control Container Placement
3 questions

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

Section Review
+ Operating Docker Swarm in Production
3 lectures 43:25

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

Preview 14:48

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

Docker Events and Viewing Them In Swarm

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

Using Swarm Configs To Save Time
+ Limit Downtime with Rolling Updates, Healthchecks and Rollbacks
15 lectures 02:06:34

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

Section Overview - Rolling 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.

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.

Preview 08:36

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!

Timeline of a Service Update

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

Assignment - Try Update Options

Watch me walk through the Assignment activities.

Assignment ANSWERS - Try Update Options

Learn how important healthchecks are to rolling updates.

How Healthchecks Affect Updates

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

Testing Updates with Healthchecks

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

Assignment - Use Healthchecks with Rolling Updates

Watch me walk through the Assignment activities.

Assignment ANSWERS - Use Healthchecks with Rolling Updates

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

Gracefully Handle Update Failures with Rollbacks

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

Testing Update Failures with Rollbacks

Get your assignment instructions.

Assignment - Add Healthchecks and Updates on Voting App

Watch me walk through the Assignment activities.

Assignment ANSWERS - Add Healthchecks and Updates on Voting App

Section Review for Service Updates

Section Review
+ Docker Production and Future of Swarm
6 lectures 01:33:31

I cover topics like OS choice, kernel versions, swarm server topologies, project mistakes, and more.

My DockerCon Talk on Docker and Swarm in Production

My DockerCon 2018 talk on how to build out all the extra Swarm stuff you need like Layer 7 proxy, monitoring, logging, and a web GUI.

My DockerCon Talk on Extra Swarm Stacks You Need

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.

Preview 07:55
The Future of Swarm

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

Swarm Raft Quorum and Recovery (Laura Frank from DockerCon 2017)
+ DevOps and Docker Clips
11 lectures 01:30:13
DevOps and Docker Talk Intro
How to Update Secrets and Configs in Stacks

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.

Swarm Service Fails Deployment When Image Prunes

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

Updating A Proxy From A Different Container

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

Auto Setup of Mongo Replicas in Docker

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.

Learning The New Docker App with Michael Irwin

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.

Swarm Volume Storage Drivers

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

Backing Up a Database Container in Swarm
Real World Elasticsearch Compose Stack File

In this clip/episode I answer a question about how to troubleshoot docker swarm networking and docker dns

Troubleshooting Docker Swarm Networking and DNS

In this clip/episode I answer a question about how to start a Swarm service container in privileged mode.

How to Run Privileged Containers in Swarm
  • No paid software required. Yay Open Source!
  • Understand Docker and Compose basics: creating containers, images, volumes, networks.
  • Be able to setup multiple VMs locally or use cloud VMs.
  • Understand terminal or command prompt basics, Linux shells, SSH, and package managers.

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!

Who this course is for:
  • You've taken my first Docker Mastery course and are ready for more Swarm.
  • You're skilled at Docker for local development and ready to use Swarm container orchestration on servers.
  • Anyone who has tried tools like Kubernetes and Mesos and is looking for an easier solution.
  • Anyone in a Developer, Operations, or Sysadmin role that wants to improve DevOps agility.
  • Anyone using Docker Enterprise Edition (Docker EE) and wants to learn how Swarm works in Docker CE.
  • Do *not* take this course if you’re new to Docker. Instead, take my Docker Mastery course, which starts with Docker 101.