Skip to content
UdemyDevOpsPaid courseAll LevelsCertificate

Docker - Containers, Images, Compose, Kubernetes, and more! (Udemy.com)

Create Docker containers & multi-container apps. Learn Compose, Kubernetes, Nginx, Cloudflare, & more!

Created by: David Joseph Katz

Last updated December 2025

icon
What you will learn

  • Updated for 2026: Learn how to use Docker and code Dockerized applications from an engineer with 5+ years of industry experience.
  • [Capstone project] Fully dockerized distributed blockchain and cryptocurrency system, with Docker Compose, Python, React, nginx, scaling, networking, and more.
  • [Capstone project pt 2] Extend the capstone project with Kubernetes - autoscaling via HPAs and metrics servers, networking with ingress.
  • Use Docker compose to create multi-container applications.
  • Run essential Docker Commands on the command line - applicable to industry workflows and projects.
  • Learn the fundamentals of Kubernetes and how Kubernetes vs. Docker fits in the big picture of tech and web development.
  • Create and run Docker containers, and build your own custom Docker images.
  • Create Kubernetes manifests, Deployments, Pods, Nodes, Ingress, and HPAs
  • Understand best practices of Dockerfiles and Image building.

How it compares

Against the other 219 rated Udemy courses in DevOps on CourseDuck:

  • Rating4.6 out of 5higher than 78% of them
  • Reviews6,222#38 of 220 by number of reviews
  • Length23.3 hourslonger than 93% of them
  • Last updatedDecember 2025more recently than 72% of them

icon
Course Description

100% Modern. Project-Based. Cloud-Ready.

This course is officially endorsed by Docker, the world’s leading container platform. Updated for 2026, it gives your team, or you personally, the most current, practical path to mastering containers, images, networks, and deployment.

Whether you’re a developer learning Docker for the first time, or a company evaluating DevOps training for your engineers, this course delivers a complete, production-ready learning experience.

On top of core Docker training, it includes a multi-service, dockerized Python, React, and Nginx distributed systems capstone project. In the first phase of the capstone, you’ll orchestrate the system using multi-container workflows with Docker Compose. In the next phase, you’ll extend the same project with Kubernetes, covering Pods, Nodes, Deployments, Ingress, autoscaling, and Cloudflare-based networking.

Why Companies and Developers Trust This Course

  • Enterprise-relevant: Covers the same Docker fundamentals used in real cloud and CI/CD pipelines.

  • Proven results: Thousands of 5-star student reviews.

  • Hands-on from the start: Every concept comes with a practical demo, container, or deployment.

  • Up-to-date & Docker-endorsed: You can be confident that the workflow and tools reflect today’s Docker ecosystem.

  • Capstone-driven: Apply everything you learn by containerizing and deploying a real Python + React application with multi-service orchestration, Nginx, and horizontal scaling.

What You’ll Learn

You’ll go from first container to full production deployment:

  1. Containers & Images: Understand how Docker runs and isolates applications. Build custom images with Dockerfiles and optimize layers for speed.

  2. Volumes & Data Persistence: Use volume, bind, and tmpfs mounts to persist and share data safely.

  3. Networking & Compose: Link multiple services with private Docker networks and Docker Compose.

  4. Scaling with Swarm: Run distributed multi-node clusters for high availability and fault tolerance.

  5. Continuous Deployment: Automate image builds and publishing through GitHub Actions and Amazon ECR.

  6. Capstone: Full-Stack Container System:

    1. Containerize a real Python backend and React frontend.

    2. Use Nginx as a reverse proxy for multi-service routing.

    3. Configure environments for dev, staging, and production.

    4. Scale out horizontally with multiple backend peers.

  7. Capstone extended: Full-Stack Container System on Kubernetes:

    1. Extend the capstone project with a Kubernetes-based cluster and deployment system.

    2. Set up Pods, Nodes, Deployments, and proper Kubernetes manifests.

    3. Apply Ingress to properly handle Kubernetes networking.

    4. Automatically scale Pods horizontally based on pod-level metrics.

    5. Supply external networking and resolve DNS via Cloudflare.

Each stage builds on the last - by the end, you’ll have your own containerized, multi-service application running in the cloud and in the kubernetes cluster.

Real Reviews from Real Developers

[5 stars] "Love Love Love David's courses. I'm a seasoned programmer just looking to refresh my skills and he does such a great job. Easy to listen to and keeps his courses moving along and focused! Great job!!!"

[5 stars] “Highly recommended. It covers everything from fundamentals to advanced Docker projects. The examples are clear and relevant.”

[5 stars] "Thank you teacher, I learned not only about docker but also many useful command and development tips. I recommend this lecture to every developer who is interested in virtualization, CI/CD, networking, linux systems, etc."

[5 stars] "Great course!! The instructor was very engaging and made the concepts interesting by giving apt examples. THANK YOU"

Meet Your Instructor

I’m David Joseph Katz, a software engineer with over six years of professional experience. I’ve built production systems at companies like Upstart and Zendesk, and I designed this course to teach you the same container workflows used in high-impact engineering environments.

This is a project-based course, not a slide deck. You’ll create real containers, connect real services, and automate real deployments.

Additional Highlights

  • Dedicated walkthroughs for Mac, Linux, and Windows users.

  • Extra “in-depth reference” section for anyone wanting to explore supporting technologies like JavaScript and Flask.

  • Instructor support - I actively answer questions and update material to stay current.

  • Business-ready: Many companies use this course in their internal training programs.

Before You Begin

You’ll need Docker Desktop installed from the official Docker website. If you’re a Udemy Business user, check your company’s policy before installation.

Let’s Get Started

Docker has redefined how the world builds and ships software. By the time you finish this course, you’ll be fluent in the tools and workflows that power modern DevOps and cloud development.

Enroll today and start mastering Docker the right way - from a Docker-endorsed, project-driven course built for 2026!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

David Joseph Katz

David is a software engineer at Upstart (formerly Zendesk), with a Bachelor of Computer Science from the University of San Francisco.

David has gained valuable experience from the tech industry. By incorporating the best practices he has learned at work, he hopes to create the highest quality learning experiences possible.

Feel free to connect with David! He is always curious about the cool project you're working on. And he loves to discuss ideas on how to build impactful technology.

icon
More courses by David Joseph Katz

$11.99

$12.99

$13.99

$69.99

$10.99

$74.99

icon
More DevOps courses

$27.99

$22.99

$27.99

$129.99

$84.99

$24.99

icon
Reviews

4.6

6,222 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Sascha Klatt on 10/15/2024

Nice introduction to Docker. I learned a lot, and I feel more comfortable applying what I learned to a personal project. The author does his best to explain complex topics. However, sometimes, I felt a bit overwhelmed, especially in the sections about Docker Swarm and Continuous Delivery, where a lot of things come together. Some visuals, like diagrams of what's happening, might have been helpful. I had to keep a lot of things in mind and concentrate. Some videos need to be updated, but I could still follow along and figure out the missing parts myself. All in all, a helpful course to get started with Docker.

By Anonymized User on 11/1/2022

That's awesome! At the beginning, I just wanted to know the basics of Docker and Docker-Compose and didn't want to dive in depth, because it seemed to me very complicated, based on what I found in other resources. But this course, thanks to the instructor, David Joseph Katz, was very understandable, which encouraged me to follow it step-by-step. It's understandable and the language is very clear, even for a non-native speaker like me. I like the explanation and the sentences being chosen. I owe you David a Thank you. Iyad

By Anonymized User on 11/14/2020

Good Course, giving an introductory insight into Docker. I especially liked Sections 1-4 and 7. Sections 5 and 6 are a bit fast and while I theoretically understood everything, executing the code did not work for me. A bit more troubleshooting information (especially for students following from non-Linux operating systems) would have been nice. Section 8 (Docker Cloud) was, as announced largely outside of the scope of this course - instead of having a lot of hands-on here, I would have preferred to have a bit more theory to improve understanding instead of doing hands-on exercises which will be of limited usability on their own later on. Overall, this course build a good understanding of Docker and I would recommend it

By Anonymized User on 4/17/2020

The course provides a very good overview of how the Docker Daemon and Docker Containers relate to each other and the underlying Host (O/S) Kernel. The only slight issue is that the process for installing Docker on Windows 10 Pro and enabling virtualization on my machine was different to that presented, but that is a perennial problem with software training packages and will present no problem for any reasonably competent software engineer. Likewise, in using Windows Powershell on Windows 10, it was necessary to convert especially text files to LF-only EOLs, and there were a couple of other slight tweaks, in addition to having to add an SSH key from my laptop to the github account via Personal Settings - SSH and GPG keys. All-in-all, however, the course has exceeded my expectations, so many thanks.

By Muntasir Biojid on 3/5/2020

Overall a great course to get novices like me up and running with Docker. David did a great job explaining the concepts from the ground up and complement the theory and code implementation with the perfect balance! The supplemental resources in the form of a GitHub repo for the course, the slide deck and lecture and section summary notes are incredibly helpful to reinforce the knowledge. These extra materials really make it obvious that the instructor put a lot of effort into building this course. I am now quite confident to use docker in my personal projects and feel ready to dive deep into more advanced DevOps topics! Thanks David! Keep up the amazing work. Hope to learn more from you in the coming days.

By Edward Kornkven on 11/26/2019

This course introduces a lot of interesting and useful material about Docker. The examples from the web development world are all new to me as that is not my area of expertise, but they do a good job of illustrating Docker's power for those applications. I was hoping to hear something about using Docker for cross-platform development which is what I had heard about Docker but it's too big a system to cover everything. I think that the course could use some refinement in pedagogy. Maybe a little more repetition when presenting the commands--it was impossible to keep up and too easy to miss a critical step. Then the example doesn't work, and I had to watch the whole episode over to figure out what went wrong. Along those lines it would be very helpful if some beginner mistakes could be anticipated. Just write down what went wrong during the development of the examples, and share those experiences. I loved the course, and recommend it, but it took longer than advertised because of the innumerable gotchas. The text on the screen shots was too small for me--I can't keep my laptop in fullscreen mode and still be able to switch to my work, and some of the web screen shots were too fuzzy to be readable. A little more attention to those teaching details would be nice for students. But I love David's energy and the complex examples, and I learned a lot about Docker, which is the purpose of the course.

By Miguel Costa on 10/31/2018

in general is a good intro course that covers some topics at a very high level. I have a few remarks though docker swarm could have a bit more information like how changes replicate across nodes/replicas the example for the continuous integration didn't really work out of the box for me. the Q&A section is a bit of a desert with almost no replies (I eventually got all the replies but took a while). Also could you please maybe share your github code for this course? edit: just got a reply and you can find the code for the examples here. that helps a lot https://github.com/15Dkatz/docker-guides

By Gerardo Puga on 4/17/2018

This a great introductory course to Docker and docker applications. The content is clear, with workable examples, and Davied paces the information just right. The sequence of topics is logical, so that one topic naturally builds up to the next. The examples are clear and easy to follow even you have never worked with flask, nginx or posgresql. The configuration of these programs is given, so that you can focus on the important things about docker configuration and administration. The range of topics is wide enough that by the end you will be able to start working with containers and groups of containers right away, and your grasp of the main concepts will be firm enough as to be able to face other, more technical sources of information about docker.

By Donal Fisk on 3/29/2018

Davids's precise and very carefully worded explanations and instructions provide detail on docker, docker containers, docker images, Dockerfiles, docker-compose files, swarms etc in an easy to comprehend manner, with a series of working examples that provide practical experience. The use of node.js, php, flask etc in the examples gives a brief introduction to these topics. Additionally, David gives an introduction to, with step by step working examples, to AWS EC2, docker cloud and github, and the possibility of Continuous Integration. A very enjoyable and useful course.

By Sean Hong on 2/15/2018

-- beginning of the course -- So far good ~ Instructor assumes very little from students. For example he start with the question what is kernel which I did not know what it was before. -- half way through the course -- I tried at least 6 different free or paid docker courses online. As a complete beginner to docker, this course is by far the best. Especially if your background is front-end web developer who wants to understand how docker works, you will be very happy taking this course.

Showing all 10 reviews on CourseDuck

Read all 6,222 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100