Docker Mastery: with Kubernetes +Swarm from a Docker Captain
-
Quick Start!
-
Course Introduction
-
The Best Way to Setup Docker for Your OSInstalling The Right Docker for this course0sInstalling Docker: The Fast WayDocker for Windows: Setup and Tips0sDocker for Mac: Setup and Tips0sDocker for Linux Desktop: Setup and Tips0sDocker for Linux Server: Setup and Tips0sVS Code for DevOps, Docker, and YAML Editing0sDocker Version and Products Changes
-
Creating and Using Containers Like a BossCheck Our Docker Install and Config0sStarting a Nginx Web Server0sDebrief: What Happens When We Run a Container0sContainer VS. VM: It’s Just a Process0sWindows Containers: Should You Consider Them?Assignment: Manage Multiple Containers0sAssignment Answers: Manage Multiple Containers0sWhat’s Going On In Containers: CLI Process Monitoring0sUse MariaDB rather than MySQLGetting a Shell Inside Containers: No Need for SSH0sDocker Networks: Concepts for Private and Public Comms in Containers0sFIXME: Change In Official Nginx Image Removes PingDocker Networks: CLI Management of Virtual Networks0sDocker Networks: DNS and How Containers Find Each Other0sAssignment: Using Containers for CLI Testing0sAssignment Answers: Using Containers for CLI Testing0sChanges To Upcoming AssignmentAssignment: DNS Round Robin Test0sAssignment Answers: DNS Round Robin Test0s
-
Container Images, Where To Find Them and How To Build ThemWhat’s In An Image (and What Isn’t)0sThe Mighty Hub: Using Docker Hub Registry Images0sImages and Their Layers: Discover the Image Cache0sImage Tagging and Pushing to Docker Hub0sBuilding Images: The Dockerfile Basics0sBuilding Images: Running Docker Builds0sBuilding Images: Extending Official Images0sAssignment: Build Your Own Dockerfile and Run Containers From It0sAssignment Answers: Build Your Own Dockerfile and Run Containers From It0sUsing Prune to Keep Your Docker System Clean (YouTube)
-
Persistent Data: Volumes, Volumes, VolumesContainer Lifetime & Persistent Data0sPersistent Data: Data Volumes0sShell Differences for Path ExpansionPersistent Data: Bind Mounting0sDatabase Passwords in ContainersUpdated Postgres Version for Next Video AssignmentAssignment: Database Upgrades with Named Volumes0sAssignment Answers: Update for Recent Postgres ChangesAssignment Answers: Database Upgrades with Named Volumes0sFile Permissions Across Multiple ContainersAssignment: Edit Code Running In Containers With Bind Mounts0sAssignment Answers: Edit Code Running In Containers With Bind Mounts0s
-
Making It Easier with Docker Compose: The Multi-Container ToolDocker Compose and The docker-compose.yml File0sCompose V2Trying Out Basic Compose Commands0sVersion Dependencies in Multi-Tier AppsCompose AssignmentsCompose-Assignment-1: Build a Compose File For a Multi-Container Project0sCompose-Assignment-1 Answers: Build a Compose File For a Multi-Container Project0sAdding Image Building to Compose Files0sUsing MariaDB rather than PostgreSQLCompose-Assignment-2: Compose For Image Building0sCompose-Assignment-2 Answers: Compose For Image Building0s
-
Swarm Intro and Creating a 3-Node Swarm Cluster
-
Swarm Basic Features and How to Use Them In Your WorkflowSections Requirements for Swarm, Drupal, and PostgresScaling Out with Overlay Networking0sScaling Out with Routing Mesh0sAssignment: Create A Multi-Service Multi-Node Web App0sAssignment Answers: Create A Multi-Service Multi-Node Web App0sSwarm Stacks and Production Grade Compose0sSecrets Storage for Swarm: Protecting Your Environment Variables0sUsing Secrets in Swarm Services0sUsing Secrets with Swarm Stacks0sAssignment: Create A Stack with Secrets and Deploy0sAssignment Answers: Create A Stack with Secrets and Deploy0s
-
Swarm App Lifecycle
-
Container Registries: Image Storage and Distribution
-
Docker in Production
-
The What and Why of Kubernetes
-
Kubernetes Architecture and Install
-
Your First Pods
-
Inspecting Kubernetes Resources
-
Exposing Kubernetes Ports
-
Kubernetes Management Techniques
-
Moving to Declarative Kubernetes YAML
-
Your Next Steps and The Future of Kubernetes
-
Advanced CI Workflow
-
GitHub Actions Workflow ExamplesSection Intro0sAssignments for this SectionAdd Basic Docker Build0sAdd BuildKit Cache0sAdd Multi-Platform Builds0sAdd Metadata and Dynamic Tags0sAdd GitHub Comments0sAdd CVE Scanning of Images0sAdd CVE Scan Blocking0sAdd Unit & Integration Testing0sAdd Kubernetes Smoke Test0sBonus: Add Job Parallelization to GHA0sImplement These Automations
-
Docker Security Good Defaults and ToolsSection Intro: Top 10 Security Steps for Docker0sDocker Cgroups and Namespaces0sDocker Engine’s Out-Of-The-Box Security Features0sDocker Bench, The Host Configuration Scanner0sUsing USER in Dockerfiles to Avoid Running as Root0sDocker User Namespaces for Extra Host Security0sCode Repo and Image Scanning for CVE’s0sSysdig Falco, Content Trust, and Custom Seccomp and AppArmor Profiles0sDocker Rootless Mode0sThe Security Top 10 Differences for Windows Containers0sWhat are Distroless Images?0sAre Swarm and Kubernetes Secrets Really Secure?0s
-
Docker 19.03 Release New Features
-
DevOps and Docker ClipsDevOps and Docker Talk Intro0sAlpine Base Images. Are They Really More Secure?0sDealing With Non-root Users In Containers and File Permissions0sApache Web Server Design. Many Sites In One Container, or Many Containers?0sDocker Network IP Subnet Conflicts with Outside Networks0sRaspberry Pi Development in Docker0sWindows 10 Containers Get Process Isolation0sShould You Move Postgres to Containers0sUsing Supervisor To Run Multiple Apps In A Container0sShould You Use Docker Compose or Swarm For A Single Server?0sDocker Environment Configs, Variables, and Entrypoints0sJava and JBoss in Containers. One .war File Per Container?0sTLS in Dev and Prod with Docker0sMultiple Docker Images From One Git Repo0sDocker + ARM, Using Raspberry Pi or AWS A1 Instances with Docker0sDocker and Swarm RBAC Options0sENTRYPOINT vs. CMD, what’s the difference in Dockerfiles0sHow to Use External Storage in Docker0sCan I Turn a VM into a Container?0sStartup Order With Multi-Container Apps0s
-
Dockerfiles and Docker Images in 2022
-
Dockerfile and Compose File Reviews
-
Extra’s, Common Questions, and Resources
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.
Proud to be a Docker Inc. ENDORSED course and instructor for 2024/2025!
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.
What's included
- 22.5 hours on-demand video
- 43 articles
- 39 downloadable resources
- Access on mobile and TV
- Certificate of completion