Docker Mastery: with Kubernetes +Swarm from a Docker Captain

Build, test, deploy containers with the best mega-course on Docker, Kubernetes, Compose, Swarm and Registry using DevOps

  • Bret Fisher
  • 4.62
  • (42065 reviews)
  • 19.5 hrs
  • 177 lectures
  • Udemy
Docker Mastery: with Kubernetes +Swarm from a Docker Captain

What you will learn?

  • 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 (21,000 members!) and weekly live Q&A.
  • Gain the skills to build development environments with your code running in containers.
  • Build Swam and Kubernetes clusters for server deployments!
  • 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.

Your trainer

Bret Fisher

Hey I'm Bret. Thanks for learning about me. I'm a freelance DevOps and Docker consultant, trainer, speaker, and Open Source volunteer working from Virginia Beach, USA. I've helped over 150,000 people learn Docker and DevOps tools and techniques.

I've been a cloud and datacenter ops/sysadmin for more than 20 years. For years I've been exclusive to containers and I help teams Dockerize their apps and systems, and improve their speed of deployment, resiliency, metrics, and awareness. All that DevOps-y stuff.

I'm also a Docker Captain and Code for America Brigade Captain. I run monthly meetups, speak at conferences, and love helping others. I'm obsessed with containerizing any app I see, and I'll likely talk your ear off about it next time we meet.

177 lessons

Easy to follow lectures and videos covering subject details.

19.5 hours

This course includes hours of video material. Watch on-demand, anytime, anywhere.

Certificate of Completion

You will earn a Certificate of Completion at the end of this course.

Course curriculum

  • Course Roadmap (overview)03:44
  • November 2019 Update!02:59
  • Why Docker? Why Now?10:54
  • Getting Course Resources (GitHub Repo)00:34
  • Course Slack Chat: 30k Students Learning Containers00:45
  • YouTube Live Q&A with Bret00:20
  • The Big FAQ04:08
  • Docker Editions: Which Do I Use?06:47
  • Installing Docker: The Fast Way01:57
  • Windows Docker Options08:08
  • Docker for Windows 10 Pro/Ent: Setup and Tips09:19
  • Docker for Mac Setup and Tips23:02
  • Docker Toolbox for Win7, 8, and 10 Home: Setup and Tips13:29
  • Docker for Linux Setup and Tips21:42
  • Quiz on Proper Docker Install3 questions
  • Code or Text Editor for Docker and Compose files00:12
  • Terminal Shell and Tab Completion for Docker CLI01:16
  • Docker Version Format Change01:09
  • Check Our Docker Install and Config06:40
  • Starting a Nginx Web Server08:58
  • Debrief: What Happens When We Run a Container02:29
  • Container VS. VM: It's Just a Process04:12
  • Windows Containers: Docker Is No Longer Just Linux01:05
  • Assignment: Manage Multiple Containers03:34
  • Assignment Answers: Manage Multiple Containers05:41
  • Container Quiz 14 questions
  • What's Going On In Containers: CLI Process Monitoring04:56
  • Getting a Shell Inside Containers: No Need for SSH10:45
  • Docker Networks: Concepts for Private and Public Comms in Containers11:36
  • FIXME: Change In Official Nginx Image Removes Ping00:30
  • Docker Networks: CLI Management of Virtual Networks07:58
  • Docker Networks: DNS and How Containers Find Each Other05:41
  • Container Quiz 23 questions
  • Assignment: Using Containers for CLI Testing02:30
  • Assignment Answers: Using Containers for CLI Testing02:50
  • FIXME: Bug in alpine affects nslookup00:19
  • Assignment: DNS Round Robin Test05:10
  • Assignment Answers: DNS Round Robin Test03:39
  • What's In An Image (and What Isn't)02:04
  • The Mighty Hub: Using Docker Hub Registry Images11:44
  • Images and Their Layers: Discover the Image Cache12:41
  • Image Tagging and Pushing to Docker Hub12:22
  • Building Images: The Dockerfile Basics06:34
  • Building Images: Running Docker Builds03:36
  • Building Images: Extending Official Images05:19
  • Image Quiz3 questions
  • Assignment: Build Your Own Dockerfile and Run Containers From It04:00
  • Assignment Answers: Build Your Own Dockerfile and Run Containers From It08:03
  • Using Prune to Keep Your Docker System Clean (YouTube)00:30
  • Container Lifetime & Persistent Data04:13
  • Persistent Data: Data Volumes08:47
  • Shell Differences for Path Expansion00:38
  • Persistent Data: Bind Mounting07:03
  • Quiz on Persistent Data3 questions
  • Assignment: Database Upgrades with Named Volumes03:34
  • Assignment Answers: Database Upgrades with Named Volumes03:36
  • Assignment: Edit Code Running In Containers With Bind Mounts04:12
  • Assignment Answers: Edit Code Running In Containers With Bind Mounts02:47
  • Database Passwords in Containers01:31
  • Docker Compose and The docker-compose.yml File10:29
  • Trying Out Basic Compose Commands08:34
  • Assignment: Build a Compose File For a Multi-Container Service02:59
  • Assignment Answers: Build a Compose File For a Multi-Container Service09:36
  • Adding Image Building to Compose Files09:20
  • Assignment: Compose For Run-Time Image Building and Multi-Container Development03:06
  • Assignment Answers: Compose For Run-Time Image Building and Multi-Container Dev11:28
  • Quiz on Docker Compose6 questions
  • Swarm Mode: Built-In Orchestration08:57
  • Create Your First Service and Scale It Locally12:16
  • UI Change For Service Create/Update01:00
  • Docker Machine Bug With Swarm00:25
  • Creating a 3-Node Swarm Cluster14:37
  • Quiz on Swarm Mode Basics3 questions
  • Scaling Out with Overlay Networking06:42
  • Scaling Out with Routing Mesh08:54
  • Quiz on Docker Swarm Basics4 questions
  • Assignment: Create A Multi-Service Multi-Node Web App06:25
  • Assignment Answers: Create A Multi-Service Multi-Node Web App10:43
  • Swarm Stacks and Production Grade Compose14:19
  • Secrets Storage for Swarm: Protecting Your Environment Variables05:07
  • Using Secrets in Swarm Services06:56
  • Using Secrets with Swarm Stacks03:51
  • Assignment: Create A Stack with Secrets and Deploy02:09
  • Assignment Answers: Create A Stack with Secrets and Deploy04:28
  • Using Secrets With Local Docker Compose02:55
  • Full App Lifecycle: Dev, Build and Deploy With a Single Compose Design10:10
  • Service Updates: Changing Things In Flight09:29
  • Healthchecks in Dockerfiles13:29
  • Quiz on Swarm App Lifecycle3 questions
  • Info on Swarm Mastery00:42
  • Docker Hub: Digging Deeper07:44
  • Understanding Docker Registry03:43
  • Run a Private Docker Registry07:16
  • Assignment: Secure Docker Registry With TLS and Authentication00:46
  • Using Docker Registry With Swarm09:29
  • Third Party Image Registries00:31
  • Quiz on Container Registries3 questions
  • My DockerCon Talk on Docker and Swarm in Production45:14
  • The Future of Swarm00:19
  • Swarm Raft Quorum and Recovery (Laura Frank from DockerCon 2017)00:23
  • Kubernetes Intro00:38
  • What Is Kubernetes03:39
  • Why Kubernetes07:23
  • Kubernetes vs Swarm10:18
  • Section Intro00:36
  • Kubernetes Architecture Terminology08:51
  • Kubernetes Local Install07:51
  • Install Tips for minikube and MicroK8s01:06
  • Kubernetes Container Abstractions03:38
  • Kubectl run, create, and apply03:04
  • Our First Pod With kubectl run07:46
  • 1.18 Changes to Kubectl Run00:57
  • Scaling ReplicaSets04:51
  • Inspecting Kubernetes Objects08:09
  • Section Intro00:35
  • Service Types06:52
  • Creating a ClusterIP Service07:53
  • Creating a NodePort and LoadBalancer Service08:39
  • Kubernetes Services DNS04:41
  • Section Intro00:49
  • Run, Expose, and Create Generators08:25
  • The Future of Kubectl Run06:38
  • Imperative vs. Declarative07:20
  • Three Management Approaches05:59
  • Section Intro00:58
  • Kubectl apply04:13
  • Kubernetes Configuration YAML06:12
  • Building Your YAML Files07:12
  • Building Your YAML Spec08:38
  • Dry Runs and Diff's05:21
  • Labels and Label Selectors07:53
  • Section Intro01:08
  • Storage in Kubernetes06:07
  • Ingress04:19
  • CRD's and The Operator Pattern03:30
  • Higher Deployment Abstractions10:06
  • Kubernetes Dashboard03:27
  • Namespaces and Context05:22
  • Future of Kubernetes09:19
  • Section Intro: Top 10 Security Steps for Docker01:12
  • Docker Cgroups and Namespaces04:24
  • Docker Engine's Out-Of-The-Box Security Features04:36
  • Docker Bench, The Host Configuration Scanner02:24
  • Using USER in Dockerfiles to Avoid Running as Root07:44
  • Docker User Namespaces for Extra Host Security04:12
  • Code Repo and Image Scanning for CVE's09:14
  • Sysdig Falco, Content Trust, and Custom Seccomp and AppArmor Profiles04:49
  • Docker Rootless Mode02:24
  • The Security Top 10 Differences for Windows Containers02:16
  • What are Distroless Images?05:20
  • Are Swarm and Kubernetes Secrets Really Secure?03:38
  • Section Intro00:15
  • BuildKit and the new Docker buildx CLI23:27
  • Docker Context and SSH Connections28:43
  • Docker App and Image Packaging of Compose YAML34:52
  • Rootless Mode in Docker Engine26:05
  • Docker Desktop Enterprise20:35
  • Docker Desktop Enterprise Clusters18:41
  • DevOps and Docker Talk Intro01:15
  • Alpine Base Images. Are They Really More Secure?19:49
  • Dealing With Non-root Users In Containers and File Permissions07:14
  • Apache Web Server Design. Many Sites In One Container, or Many Containers?03:35
  • Docker Network IP Subnet Conflicts with Outside Networks05:21
  • Raspberry Pi Development in Docker03:21
  • Windows 10 Containers Get Process Isolation06:52
  • Should You Move Postgres to Containers06:30
  • Using Supervisor To Run Multiple Apps In A Container04:09
  • Should You Use Docker Compose or Swarm For A Single Server?01:19
  • Docker Environment Configs, Variables, and Entrypoints22:00
  • Java and JBoss in Containers. One .war File Per Container?05:21
  • TLS in Dev and Prod with Docker03:11
  • Multiple Docker Images From One Git Repo02:45
  • Docker + ARM, Using Raspberry Pi or AWS A1 Instances with Docker24:11
  • Docker and Swarm RBAC Options01:40
  • ENTRYPOINT vs. CMD, what's the difference in Dockerfiles10:11
  • How to Use External Storage in Docker04:04
  • Can I Turn a VM into a Container?05:13
  • Startup Order With Multi-Container Apps03:52
  • Section Intro - My Reviews Of Your Dockerfiles00:51
  • Real World PHP Dockerfile Review18:28
  • Real World PHP, Apache, and Alpine Dockerfile Review03:09
  • Real World PHP and FPM Dockerfile Review09:04
  • Real World Elasticsearch Compose Stack File10:33
  • Node.js Good Defaults For Docker00:27
  • PHP and Docker Good Defaults Project Template00:26
  • About the DCA (Docker Certificated Associate)00:35
  • Bonus01:14
I initially started this course to determine whether I could run new starters through it but the depth as well as breadth of the course content, the style and the exercises meant I actually learned a few new tricks along the way. Great course, highly recommended for both those who are just starting out as well as those who are looking for a more rounded level of knowledge when it comes to docker. Thanks Bret, see you in the slack channels.
Matt Kellett
Online Courses

Learning Docker doesn't have to be hard. Here is our curated list of recommended online courses that will guide you step-by-step in the learning process.

Learn more
Books

Are you an avid book reader? Do you prefer paperback, or maybe Kindle version? Take a look at our curated list of Docker related books and take yourskills to the next level.

Learn more
YouTube videos

The number of high-quality and free Docker video tutorials is growing fast. Check this curated list of recommended videos - there is no excuse to stop learning.

Learn more