Proud to be a
Now also a
Proud to be a
Now also a
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 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 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.
If you're totally new to Docker, this breaks down the three major features that created an entire container ecosystem.
Before we learn how to install Docker locally, let's just try a few commands in Docker's cloud learning tool: Play With Docker.
Why did Docker need to exist? What are the big problems it solves for devs and ops?
High-level overview of sections and lectures.
Join Bret on YouTube Live every week for getting questions answered about Docker Mastery and all things containers.
Common Questions in This Course
Why is Docker sometimes complex to install locally? I'll explain why.
Quick links and descriptions to get you started fast.
Details on Docker Desktop and supporting tools on Windows.
Details on Docker Desktop and supporting tools on macOS.
Details on Docker Desktop and supporting tools on a Linux Desktop.
Details on Docker Desktop and supporting tools on a Linux server.
Some basics on Visual Studio Code and which extensions (plugins) will help in this course.
Note that Docker Inc. has changed many tool names over the years. Here's some quick info.
Section Overview, and ensuring Docker is working and on a recent version.
Learn how to run a container, and manage its existence.
Starting a container does lots of things in the background, lets talk about those.
See how a container is quite different then a VM, and yet how they have similar concepts.
"Windows Containers" were born in 2016, and allow native .exe support in containers, but are they worth it?
Assignment to startup a typical three container service with nginx, mysql, and apache. Also, getting used to using docs.docker.com.
(optional) I walk through the assignment as how I would do it.
Let's review this section and help solidify your knowledge with a quiz.
Use cli commands to monitor containers and see what's running in them.
Use MariaDB for better compatibility with commands in this course.
Use docker cli to get a full shell inside containers, no SSH needed. Also learn a about Linux distributions in containers like Ubuntu and Alpine.
Learn the concepts around container networking, and how Docker handles it. Inspect a container IP and see diagrams on how traffic gets in and out.
Quick note on a fix you should add to future lessons where I use ping from a nginx container.
Practice the commands for controlling docker networks on your local machine.
Understand how containers find each other using dynamic DNS rather than IP's.
A few questions on previous lecture content to help you retain the knowledge.
Assignment to use container shells to test networking between them.
Assignment to test DNS alias naming on multiple containers.
Section Overview, and a discussion about what an image is and isn't.
Dig into what Docker Hub provides us. It's the future of package managers.
Docker caches images locally, you'll need to know how it works in order to manage it properly. Let's dig in!
Getting images in and out of an image repository is a fundamental common task, lets try it.
Dockerfiles are the recipes you make to create great containers. Let's start with the essentials of what's in the Dockerfile.
Once you have your Dockerfile, you need to build an image from it. Lets see how that works.
Dockerfiles can add on to existing images. Lets see how we might do that.
Assignment to create your own Dockerfile recipe and test it in containers.
Using the prune command to clean up various things in docker.
Understand the lifecycle of a container and how we should separate application artifacts and unique data that we need to preserve across containers.
Learn how to use Docker Volumes to store important data we need to keep, and let your persistent data outlive the container.
See how to create a link between host and container directories for various purposes, including easy source-file development.
How data exists past and beyond the container
Assignment to deal with databases and persistent data in containers through volumes.
Assignment to edit code on host while it's served up in a container.
Section Overview and discussing the features and purpose of compose files, a key part of using Docker locally and in production.
Get your feet wet with basic commands and workflow of our new favorite tool in this course!
Assignment to create your own Compose file to run a multi-app service (Drupal and Postgres).
Learn to have Compose run your docker builds for you on startup.
Assignment to create your own Compose file to build images with custom options (Drupal and Postgres).
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.
You'll build a 3-host Swarm cluster so we can scale our apps out for high-availability.
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.
Create your own distributed container service, with custom networks and multiple containers dynamically provisioned.
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.
Modify a compose file to make it production-ready and use secrets to pass config values.
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.
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.