We may earn an affiliate commission when you visit our partners.
Course image
Bret Fisher and Docker Captain Program

2021 Update: Ready for Apple Silicon (M1 arm64) and Raspberry Pi's. 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.

Read more

2021 Update: Ready for Apple Silicon (M1 arm64) and Raspberry Pi's. 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.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Learning objectives

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

Syllabus

Introduction and Course Overview

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

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.

Read more

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

Course Resources and Tools

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

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

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

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.

Learn the basics of creating a swarm locally, then on VM's, for using throughout this course.

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

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

UI Change For Service Create/Update
Use Multipass to create a multi-node Swarm

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

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

Learn the ins and outs of Swarm Services, Networking, and more.
Drupal and Postgres versions

Learn how Swarm can seamlessly let containers talk between hosts.

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

Database Passwords in Containers
Create A Multi-Service Multi-Node Web App

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

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

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

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

Create A Stack with Secrets and Deploy
Learn the Swarm features that help bridge the dev-to-prod process, and keep your apps running during updates.

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

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.

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

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

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

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

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

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

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

Control Container Placement

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

Use various Swarm features to perform common tasks for a running Swarm with multiple services.

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

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

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

You'll test the finer details of how Swarm will replace a container, and get hands on doing updates with healthchecks while you're testing connectivity with common industry tools.

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

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.

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

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!

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

Watch me walk through the Assignment activities.

Learn how important healthchecks are to rolling updates.

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

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

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

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

Get your assignment instructions.

Section Review for Service Updates

Videos of me presenting on Docker and Swarm production best practices

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

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.

More Swarm Stack Examples in Dog vs. Cat Repo

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.

The Future of Swarm

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

Short clips from the weekly course AMA on various topics related to this course.
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.

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

I give a quick answer on how you might design MongoDB and other database servers for auto clustering inside 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.

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.

Docker Captain Michael Irwin and I discuss backups of databases in a container cluster like Docker 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

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

My Other Courses Related to This Docker Course

Continue your container learning with coupons for my other courses.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops skills for managing multi-node clusters, container deployment, and configuration management, which are core skills for modern infrastructure management
Taught by a Docker Captain and DevOps consultant who has extensive experience in container orchestration
Provides real-world examples and hands-on labs, which helps learners apply their knowledge to practical scenarios
Course is tailored for beginners and those with some experience in Docker, making it accessible to a wide range of learners
Covers advanced topics such as service updates, healthchecks, and placement control, which are important for production-grade deployments
Includes exclusive access to a dedicated Slack channel and weekly live Q&A sessions, providing learners with ongoing support and interaction

Save this course

Save Docker Swarm Mastery: DevOps Style Cluster Orchestration to your list so you can find it easily later:
Save

Reviews summary

Docker swarm mastery overview

Learners say this course gave a good overview on Docker Swarm Mastery. Students learned a lot from this course.
Learners say this course provided a good overview of Docker Swarm Mastery.
"Very good course, learned a lot and gave a good overview."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Docker Swarm Mastery: DevOps Style Cluster Orchestration with these activities:
Gather and organize your course materials
By organizing and reviewing your materials, you'll already be familiarizing yourself with the content
Show steps
  • Create a folder for the course
  • Download and save all the course materials
  • Review the course syllabus and schedule
Review Kubernetes in Action, 2nd Edition
Read this book and take notes to solidify your understanding of kubernetes and cloud-native technologies
View Kubernetes in Action on Amazon
Show steps
  • Purchase the book
  • Read the first three chapters
  • Take notes and summarize each chapter
Practice creating a multi-node Swarm cluster
Practice creates muscle memory, and that includes muscle memory for working with Docker and Swarm
Browse courses on Docker Swarm
Show steps
  • Set up a test environment
  • Create a Docker Swarm cluster
  • Deploy a simple application to the cluster
  • Monitor and manage the cluster
Six other activities
Expand to see all activities and additional details
Show all nine activities
Build a Docker image of a simple web application
This will help you understand how to create and build Docker images, a key skill for working with Docker and Swarm
Browse courses on Docker
Show steps
  • Create a new Dockerfile
  • Add the necessary commands to install dependencies and run the application
  • Build the Docker image
  • Run the Docker image
Form a study group with other students in the course
Peer learning is an effective way to reinforce concepts and improve understanding
Browse courses on Docker
Show steps
  • Find other students who are taking the course
  • Meet up regularly to discuss the course material
  • Work together on projects and assignments
Follow the Docker Swarm tutorials
Docker provides a number of free tutorials that can help you learn about Swarm Mode
Browse courses on Docker Swarm
Show steps
  • Visit the Docker Swarm tutorials page
  • Choose a tutorial and follow the instructions
  • Complete the tutorial and test your understanding
Create a blog post explaining the benefits of Swarm
Creating a blog post will reinforce your understanding of Swarm Mode and its benefits, which you can review later
Browse courses on Docker Swarm
Show steps
  • Write an outline for your blog post
  • Research and gather supporting materials
  • Draft your blog post
  • Edit and publish your blog post
  • Promote your blog post on social media
Volunteer to help with a local Docker Meetup
Volunteering at a Docker Meetup will allow you to interact with a community of people who use Docker on a regular basis
Browse courses on Docker
Show steps
  • Find a local Docker Meetup
  • Contact the organizers and offer to help
  • Attend the Meetup and help out
Participate in a Docker Swarm hackathon
Participating in a hackathon is a great way to test your skills and learn from others
Browse courses on Docker
Show steps
  • Find a Docker Swarm hackathon
  • Form a team and register for the hackathon
  • Develop a Docker Swarm application
  • Submit your application and compete for prizes

Career center

Learners who complete Docker Swarm Mastery: DevOps Style Cluster Orchestration will develop knowledge and skills that may be useful to these careers:
Network Administrator
A Network Administrator is responsible for setting up and maintaining networks, with the focus being on computer networks. Focus here is on computer networks as opposed to network television or radio. You will also be responsible for monitoring and troubleshooting network performance issues. You will have some overlap with the work of a Systems Administrator. Some of the activities you will be performing include the following: Installing, configuring, and managing routers and switches. This course can help you become a Network Administrator because it concentrates on "Docker Swarm Mastery: DevOps Style Cluster Orchestration." Networks are a foundational technology for many kinds of software applications, including those developed in DevOps environments and container clusters.
Systems Analyst
Systems Analysts study and solve business and organizational problems in a variety of industries while focusing on data, technology, and processes. You will interview stakeholders to understand their needs, and then design and implement solutions that meet their requirements. Proficiency with different types of network technologies and software development is often required. This course can help you become a Systems Analyst because it focuses on "Docker Swarm Mastery: DevOps Style Cluster Orchestration." Docker has become an industry standard in cloud-based software development for containerization of software development, deployment, and management.
Cloud Engineer
Cloud Engineers design, build, test, deploy, manage, and maintain cloud computing systems. You will become an expert on the fundamentals of cloud technologies, and the applications and services that run in the cloud. You need to be able to think strategically to help organizations define and execute cloud strategies aligned with their business goals. This course is an excellent fit for a Cloud Engineer because it concentrates on "Docker Swarm Mastery: DevOps Style Cluster Orchestration." Cloud Engineers need to orchestrate complex solutions, and this course provides important foundational knowledge.
Software Developer
Software Developers design, develop, and maintain software applications. You will translate user requirements into technical specifications. Then, you will implement functional logic, algorithms, and data structures in code. Software Developers also test and debug code to ensure it is free of errors. A Software Developer who focuses on cloud-based applications will benefit most from this course. This is because it concentrates on "Docker Swarm Mastery: DevOps Style Cluster Orchestration." Docker is an industry standard in cloud-based software development, and it supports the full lifecycle of software development, including development, deployment, and management.
DevOps Engineer
DevOps Engineers combine software development and IT operations. In particular, they automate processes that support application and infrastructure updates. They also shorten the systems development life cycle while ensuring quality. Thus, DevOps Engineers promote close collaboration and communication between development and operations teams. They also enhance productivity and efficiency. This course is about "Docker Swarm Mastery: DevOps Style Cluster Orchestration." This course will, therefore, be a valuable addition to your DevOps toolkit.
IT Manager
IT Managers plan, direct, and coordinate the acquisition, development, deployment, operation, and maintenance of computer systems in an organization. They also plan and implement the organization's IT strategy. As such, their work is central to an organization's digital transformation. A background in DevOps is a key differentiator in today's IT management job market. This course focuses on "Docker Swarm Mastery: DevOps Style Cluster Orchestration." Thus, it will help you on your quest to become an IT Manager.
Computer Systems Analyst
Computer Systems Analysts analyze, design, implement, and maintain computer systems. You will determine the hardware and software requirements for a system after studying user needs and the nature of the business. This role often overlaps with responsibilities of a Systems Analyst. This course may be useful to you in your journey to become a Computer Systems Analyst because it concentrates on "Docker Swarm Mastery: DevOps Style Cluster Orchestration." Docker is an essential tool in the workflow of a Computer Systems Analyst, and this course can help strengthen your skillset.
Solutions Architect
Solutions Architects design, deploy, and maintain complex technical solutions to meet the needs of an organization. Some also help develop the high-level strategy for technology and its use. These solutions require an understanding of the business goals of an organization and of cloud service offerings. This course may be useful to you as you seek to become a Solutions Architect. This is because it teaches "Docker Swarm Mastery: DevOps Style Cluster Orchestration." Docker is a dominant technology in the cloud services industry. Gaining expertise with Docker, such as through this course, is likely to give you a competitive edge.
Data Analyst
Data Analysts collect, transform, and analyze data to provide insights to organizations. They also interpret and present data in a clear and concise way. Increasingly, Data Analysts use Docker, which is why this course may be helpful. This course focuses on "Docker Swarm Mastery: DevOps Style Cluster Orchestration." This course will strengthen your Docker skills and help you stand out in the job market.
Data Scientist
Data Scientists analyze and interpret data to extract knowledge and insights. They also use a variety of statistical and machine learning models to build predictive models. A background in DevOps is increasingly important for Data Scientists, and this course may help you build yours. This course concentrates on "Docker Swarm Mastery: DevOps Style Cluster Orchestration." This background will complement your skills as a Data Scientist by providing a solid understanding of Docker.
Database Administrator
Database Administrators keep databases running efficiently. Key responsibilities are to monitor databases for performance and security issues. They also back up and restore databases as needed. Knowledge of DevOps can be useful for Database Administrators. This course focuses on "Docker Swarm Mastery: DevOps Style Cluster Orchestration." This knowledge will augment your existing skills as a Database Administrator.
Web Developer
Web Developers design and develop websites. They also create and maintain the code that makes websites work. A background in DevOps can give you a competitive edge in the job market. This course can help you to build this background. This course concentrates on "Docker Swarm Mastery: DevOps Style Cluster Orchestration." Containers, including Docker containers, play a key role in web development today.
IT Architect
IT Architects design, build, and maintain the IT infrastructure of an organization. They also plan and implement the organization's IT strategy. As such, their work is central to an organization's digital transformation. A background in DevOps is a key differentiator in today's IT management job market. This course focuses on "Docker Swarm Mastery: DevOps Style Cluster Orchestration." Thus, it will help you on your quest to become an IT Architect.
IT Security Analyst
IT Security Analysts protect and secure computer systems and networks. They also develop and implement security measures to protect against threats. A background in DevOps will provide a solid foundation for your career as an IT Security Analyst. This course focuses on "Docker Swarm Mastery: DevOps Style Cluster Orchestration." This will allow you to strengthen your Docker skills.
IT Project Manager
IT Project Managers plan, execute, and close out IT projects. They also manage the project team and resources. A background in DevOps will make you a stronger candidate for IT Project Manager positions. This course can help you gain this valuable experience. This course focuses on "Docker Swarm Mastery: DevOps Style Cluster Orchestration." This knowledge will complement your existing skills as an IT Project Manager.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Docker Swarm Mastery: DevOps Style Cluster Orchestration.
Provides detailed instructions on how to install, configure, and manage Docker Swarm. It can serve as a useful reference guide during the course.
Covers best practices for running Docker in production environments. It would be a good reference for the course, but is not as directly relevant as other books.
Provides a high-level overview of DevOps practices and principles. It can provide valuable context for learners who are new to DevOps.
Provides a collection of patterns for building and operating cloud-native applications. It would be a useful reference for learners who want to understand best practices for cloud-native development.
Provides a comprehensive overview of site reliability engineering practices. It would be a useful reference for learners who want to understand how to operate and maintain large-scale distributed systems.
While this book does not cover Docker Swarm, it provides a comprehensive overview of Kubernetes, which may be useful for learners who want to understand the broader context of container orchestration.
Provides a deep dive into Kubernetes operators. It would be a useful reference for learners who want to understand how to build and manage complex Kubernetes applications.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Docker Swarm Mastery: DevOps Style Cluster Orchestration.
Docker Mastery: with Kubernetes +Swarm from a Docker...
Most relevant
Docker for Node.js Projects From a Docker Captain
Most relevant
Docker - SWARM - Hands-on - DevOps
Most relevant
Kubernetes Mastery: Hands-On Lessons From A Docker Captain
Most relevant
AWS Certified Solutions Architect - Associate (SAA-C03):...
Most relevant
Docker from A to Z™: Swarm + Jenkins
Most relevant
Docker - Introducing Docker Essentials, Containers, and...
Most relevant
Python in Containers
Docker - Hands On for Java Developers
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser