Course Overview
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.
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.
FAQ
FAQ area empty
Course curriculum
-
Installing The Right Docker for this course
570 -
Installing Docker: The Fast Way
Xem trước -
Docker for Windows: Setup and Tips
1034 -
Docker for Mac: Setup and Tips
592 -
Docker for Linux Desktop: Setup and Tips
787 -
Docker for Linux Server: Setup and Tips
855 -
VS Code for DevOps, Docker, and YAML Editing
511 Xem trước -
Docker Version and Products Changes
-
Check Our Docker Install and Config
400 -
Starting a Nginx Web Server
538 -
Debrief: What Happens When We Run a Container
149 -
Container VS. VM: It's Just a Process
252 -
Windows Containers: Should You Consider Them?
-
Assignment: Manage Multiple Containers
214 -
Assignment Answers: Manage Multiple Containers
341 -
Container Commands
-
What's Going On In Containers: CLI Process Monitoring
296 -
Use MariaDB rather than MySQL
-
Getting a Shell Inside Containers: No Need for SSH
645 -
Docker Networks: Concepts for Private and Public Comms in Containers
696 -
FIXME: Change In Official Nginx Image Removes Ping
-
Docker Networks: CLI Management of Virtual Networks
478 -
Docker Networks: DNS and How Containers Find Each Other
341 -
More Container Commands
-
Assignment: Using Containers for CLI Testing
150 -
Assignment Answers: Using Containers for CLI Testing
170 -
Changes To Upcoming Assignment
-
Assignment: DNS Round Robin Test
310 -
Assignment Answers: DNS Round Robin Test
219
-
What's In An Image (and What Isn't)
124 -
The Mighty Hub: Using Docker Hub Registry Images
704 -
Images and Their Layers: Discover the Image Cache
761 -
Image Tagging and Pushing to Docker Hub
742 -
Building Images: The Dockerfile Basics
394 -
Building Images: Running Docker Builds
216 -
Building Images: Extending Official Images
319 -
Images
-
Assignment: Build Your Own Dockerfile and Run Containers From It
240 -
Assignment Answers: Build Your Own Dockerfile and Run Containers From It
483 -
Using Prune to Keep Your Docker System Clean (YouTube)
-
Container Lifetime & Persistent Data
253 -
Persistent Data: Data Volumes
527 -
Shell Differences for Path Expansion
-
Persistent Data: Bind Mounting
423 -
Persistent Data
-
Database Passwords in Containers
-
Updated Postgres Version for Next Video Assignment
-
Assignment: Database Upgrades with Named Volumes
214 -
Assignment Answers: Update for Recent Postgres Changes
-
Assignment Answers: Database Upgrades with Named Volumes
216 -
File Permissions Across Multiple Containers
-
Assignment: Edit Code Running In Containers With Bind Mounts
252 -
Assignment Answers: Edit Code Running In Containers With Bind Mounts
167
-
Intro: Review before ENTRYPOINT
114 -
Buildtime vs. Runtime
255 -
What's an ENTRYPOINT?
518 -
Using ENTRYPOINT and CMD together
635 -
Shell vs Exec Form
436 -
ENTRYPOINT, CMD, and SHELL
-
Assignment 1: Create CLI Utilities
214 -
Assignment 1: Your Homework
-
Assignment 1 Answer: Create CLI Utilities
1071 -
Assignment 2: Startup Scripts
74 -
Assignment 2: Your Homework
-
Assignment 2 Answer: Startup Scripts
1157
-
Docker Compose and The docker-compose.yml File
629 -
Compose V2
-
Trying Out Basic Compose Commands
514 -
Version Dependencies in Multi-Tier Apps
-
Compose Assignments
-
Compose-Assignment-1: Build a Compose File For a Multi-Container Project
179 -
Compose-Assignment-1 Answers: Build a Compose File For a Multi-Container Project
576 -
Adding Image Building to Compose Files
560 -
Using MariaDB rather than PostgreSQL
-
Compose-Assignment-2: Compose For Image Building
186 -
Compose-Assignment-2 Answers: Compose For Image Building
688 -
Docker Compose
-
Sections Requirements for Swarm, Drupal, and Postgres
-
Jan 2025: Bug in Play-with-Docker Swarm networking
-
Scaling Out with Overlay Networking
402 -
Scaling Out with Routing Mesh
534 -
Docker Swarm Networking
-
Assignment: Create A Multi-Service Multi-Node Web App
385 -
Assignment Answers: Create A Multi-Service Multi-Node Web App
643 -
Swarm Stacks and Production Grade Compose
859 -
Secrets Storage for Swarm: Protecting Your Environment Variables
307 -
Using Secrets in Swarm Services
416 -
Using Secrets with Swarm Stacks
231 -
Assignment: Create A Stack with Secrets and Deploy
129 -
Assignment Answers: Create A Stack with Secrets and Deploy
268
-
Section Intro
25 -
Assignments for this Section
-
Add Basic Docker Build
174 -
Add BuildKit Cache
122 -
Add Multi-Platform Builds
75 -
Add Metadata and Dynamic Tags
114 -
Add GitHub Comments
63 -
Add CVE Scanning of Images
163 -
Add CVE Scan Blocking
138 -
Add Unit & Integration Testing
208 -
Add Kubernetes Smoke Test
178 -
Bonus: Add Job Parallelization to GHA
65 -
Implement These Automations
-
Section Intro: Top 10 Security Steps for Docker
72 -
Docker Cgroups and Namespaces
264 -
Docker Engine's Out-Of-The-Box Security Features
276 -
Docker Bench, The Host Configuration Scanner
144 -
Using USER in Dockerfiles to Avoid Running as Root
464 -
Docker User Namespaces for Extra Host Security
252 -
Code Repo and Image Scanning for CVE's
554 -
Sysdig Falco, Content Trust, and Custom Seccomp and AppArmor Profiles
289 -
Docker Rootless Mode
144 -
The Security Top 10 Differences for Windows Containers
136 -
What are Distroless Images?
320 -
Are Swarm and Kubernetes Secrets Really Secure?
218
-
DevOps and Docker Talk Intro
75 -
Alpine Base Images. Are They Really More Secure?
1189 -
Dealing With Non-root Users In Containers and File Permissions
434 -
Apache Web Server Design. Many Sites In One Container, or Many Containers?
215 -
Docker Network IP Subnet Conflicts with Outside Networks
321 -
Raspberry Pi Development in Docker
201 -
Windows 10 Containers Get Process Isolation
412 -
Should You Move Postgres to Containers
390 -
Using Supervisor To Run Multiple Apps In A Container
249 -
Should You Use Docker Compose or Swarm For A Single Server?
79 -
Docker Environment Configs, Variables, and Entrypoints
1320 -
Java and JBoss in Containers. One .war File Per Container?
321 -
TLS in Dev and Prod with Docker
191 -
Multiple Docker Images From One Git Repo
165 -
Docker + ARM, Using Raspberry Pi or AWS A1 Instances with Docker
1451 -
Docker and Swarm RBAC Options
100 -
ENTRYPOINT vs. CMD, what's the difference in Dockerfiles
611 -
How to Use External Storage in Docker
244 -
Can I Turn a VM into a Container?
313 -
Startup Order With Multi-Container Apps
232
Requirment
-
No paid software required - Just install your favorite text editor and browser!
-
Local admin access to install Docker for Mac/Windows/Linux.
-
Understand terminal basics including Linux shells, SSH, and package managers.
-
Have some experience with virtual machines, how to create them locally and use them.
-
Know the basics of creating servers in the cloud (on any provider).
-
Understand the basics of web and database servers. (how they typically communicate, IP's, ports, etc.)
-
Know the basics of git and GitHub for accessing course materials.
Outcomes
-
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.
0 Student
1 Course
0 review