Docker & Kubernetes: The Practical Guide (2023 Edition)
About Course
Learn Docker and Kubernetes for free with this comprehensive course from Udemy. This practical guide will teach you everything you need to know about these in-demand technologies, from the ground up.
Docker and Kubernetes are essential tools for simplifying the development and deployment of software projects. This course will teach you how to create and manage containers, which allow you to run your programs in a predictable and environment-independent way.
You’ll learn how to:
- Set up Docker on macOS and Windows
- Create and manage containers and images
- Work with data and persist data with volumes
- Understand container networking
- Deploy Docker projects manually and with managed services like AWS ECS
- Understand Kubernetes core concepts and architecture
- Create Kubernetes resources, deployments, and services
- Work with data in Kubernetes projects
- Deploy your Kubernetes project using AWS EKS
- And much more!
This course includes tons of practical examples and demos using programming languages like NodeJS, Python, and PHP. No prior knowledge of these languages is required.
Enroll today and start your journey to becoming a Docker and Kubernetes expert!
What Will You Learn?
- Learn what Docker and Kubernetes are and why you might want to use them
- Learn how to install and use Docker on any system (macOS, Windows, Linux)
- Learn how to create and use Images & Containers with Docker
- Understand complex topics like managing and persisting data with Volumes
- Learn about Container Networking with Docker Networks and DNS Service Discovery
- Learn how to deploy Docker applications - manually, with managed services or with Kubernetes
Course Content
01 – Getting Started
-
A Message from the Professor
-
001 Welcome to the Course.mp4
00:00 -
002 What Is Docker.mp4
00:00 -
003 Why Docker & Containers.mp4
00:00 -
004 Join Our Learning Community.html
00:00 -
005 Virtual Machines vs Docker Containers.mp4
00:00 -
006 Docker Setup – Overview.mp4
00:00 -
007 Docker Setup – macOS.mp4
00:00 -
008 Docker Setup – Windows.mp4
00:00 -
009 Docker Setup – Docker Toolbox for Older Systems.mp4
00:00 -
010 Docker Playground.html
00:00 -
011 An Overview of the Docker Tools.mp4
00:00 -
012 Installing & Configuring an IDE.mp4
00:00 -
013 Getting Our Hands Dirty!.mp4
00:00 -
014 Course Outline.mp4
00:00 -
015 How To Get The Most Out Of This Course.mp4
00:00 -
016 Course Resources.html
00:00 -
external-links.txt
00:00 -
Section Quiz
02 – Docker Images & Containers The Core Building Blocks
-
001 Module Introduction.mp4
00:00 -
002 Images & Containers What and Why.mp4
00:00 -
003 Using & Running External (Pre-Built) Images.mp4
00:00 -
004 Our Goal A NodeJS App.mp4
00:00 -
005 Building our own Image with a Dockerfile.mp4
00:00 -
006 Running a Container based on our own Image.mp4
00:00 -
007 EXPOSE & A Little Utility Functionality.html
00:00 -
008 Images are Read-Only!.mp4
00:00 -
009 Understanding Image Layers.mp4
00:00 -
010 A First Summary.mp4
00:00 -
011 Managing Images & Containers.mp4
00:00 -
012 Stopping & Restarting Containers.mp4
00:00 -
013 Understanding Attached & Detached Containers.mp4
00:00 -
014 Attaching to an already-running Container.html
00:00 -
015 Entering Interactive Mode.mp4
00:00 -
016 Deleting Images & Containers.mp4
00:00 -
017 Removing Stopped Containers Automatically.mp4
00:00 -
018 A Look Behind the Scenes Inspecting Images.mp4
00:00 -
019 Copying Files Into & From A Container.mp4
00:00 -
020 Naming & Tagging Containers and Images.mp4
00:00 -
021 Sharing Images – Overview.mp4
00:00 -
022 Pushing Images to DockerHub.mp4
00:00 -
023 Pulling & Using Shared Images.mp4
00:00 -
024 Module Summary.mp4
00:00 -
025 Module Resources.html
00:00 -
Section Quiz
03 – Managing Data & Working with Volumes
-
001 Module Introduction.mp4
00:00 -
002 Understanding Data Categories Different Kinds of Data.mp4
00:00 -
003 Analyzing a Real App.mp4
00:00 -
004 Building & Understanding the Demo App.mp4
00:00 -
005 Understanding the Problem.mp4
00:00 -
006 Introducing Volumes.mp4
00:00 -
007 A First, Unsuccessful Try.mp4
00:00 -
008 Named Volumes To The Rescue!.mp4
00:00 -
009 Removing Anonymous Volumes.html
00:00 -
010 Getting Started With Bind Mounts (Code Sharing).mp4
00:00 -
011 Bind Mounts – Shortcuts.html
00:00 -
012 Combining & Merging Different Volumes.mp4
00:00 -
013 A NodeJS-specific Adjustment Using Nodemon in a Container.mp4
00:00 -
014 Volumes & Bind Mounts Summary.mp4
00:00 -
015 A Look at Read-Only Volumes.mp4
00:00 -
016 Managing Docker Volumes.mp4
00:00 -
017 Using COPY vs Bind Mounts.mp4
00:00 -
018 Don’t COPY Everything Using dockerignore Files.mp4
00:00 -
019 Adding more to the .dockerignore File.html
00:00 -
020 Working with Environment Variables & .env Files.mp4
00:00 -
021 Environment Variables & Security.html
00:00 -
022 Using Build Arguments (ARG).mp4
00:00 -
023 Module Summary.mp4
00:00 -
024 Module Resources.html
00:00 -
external-links.txt
00:00 -
Section Quiz
04 – Networking (Cross-)Container Communication
-
001 Module Introduction.mp4
00:00 -
002 Case 1 Container to WWW Communication.mp4
00:00 -
003 Case 2 Container to Local Host Machine Communication.mp4
00:00 -
004 Case 3 Container to Container Communication.mp4
00:00 -
005 Analyzing the Demo App.mp4
00:00 -
006 Creating a Container & Communicating to the Web (WWW).mp4
00:00 -
007 Making Container to Host Communication Work.mp4
00:00 -
008 Container to Container Communication A Basic Solution.mp4
00:00 -
009 Introducing Docker Networks Elegant Container to Container Communication.mp4
00:00 -
010 How Docker Resolves IP Addresses.mp4
00:00 -
011 Docker Network Drivers.html
00:00 -
012 Module Summary.mp4
00:00 -
013 Module Resources.html
00:00 -
Section Quiz
05 – Building Multi-Container Applications with Docker
-
001 Module Introduction.mp4
00:00 -
002 Our Target App & Setup.mp4
00:00 -
003 Dockerizing the MongoDB Service.mp4
00:00 -
004 Dockerizing the Node App.mp4
00:00 -
005 Moving the React SPA into a Container.mp4
00:00 -
006 Adding Docker Networks for Efficient Cross-Container Communication.mp4
00:00 -
007 Fixing MongoDB Authentication Errors (relevant for next lecture).html
00:00 -
008 Adding Data Persistence to MongoDB with Volumes.mp4
00:00 -
009 Volumes, Bind Mounts & Polishing for the NodeJS Container.mp4
00:00 -
010 Live Source Code Updates for the React Container (with Bind Mounts).mp4
00:00 -
011 Module Summary.mp4
00:00 -
012 Module Resources.html
00:00 -
Section Quiz
06 – Docker Compose Elegant Multi-Container Orchestration
-
001 Module Introduction.mp4
00:00 -
002 Docker-Compose What & Why.mp4
00:00 -
003 Creating a Compose File.mp4
00:00 -
004 Diving into the Compose File Configuration.mp4
00:00 -
005 Installing Docker Compose on Linux.html
00:00 -
006 Docker Compose Up & Down.mp4
00:00 -
007 Working with Multiple Containers.mp4
00:00 -
008 Adding Another Container.mp4
00:00 -
009 Building Images & Understanding Container Names.mp4
00:00 -
010 Module Summary.mp4
00:00 -
011 Module Resources.html
00:00 -
Section Quiz
07 – Working with Utility Containers & Executing Commands In Containers
-
001 Module Introduction & What are Utility Containers.mp4
00:00 -
002 Utility Containers Why would you use them.mp4
00:00 -
003 Different Ways of Running Commands in Containers.mp4
00:00 -
004 Building a First Utility Container.mp4
00:00 -
005 Utilizing ENTRYPOINT.mp4
00:00 -
006 Using Docker Compose.mp4
00:00 -
007 Utility Containers, Permissions & Linux.html
00:00 -
008 Module Summary.mp4
00:00 -
009 Module Resources.html
00:00 -
Section Quiz
08 – A More Complex Setup A Laravel & PHP Dockerized Project
-
001 Module Introduction.mp4
00:00 -
002 The Target Setup.mp4
00:00 -
003 Adding a Nginx (Web Server) Container.mp4
00:00 -
004 Adding a PHP Container.mp4
00:00 -
005 Adding a MySQL Container.mp4
00:00 -
006 Adding a Composer Utility Container.mp4
00:00 -
007 Creating a Laravel App via the Composer Utility Container.mp4
00:00 -
008 Fixing Errors With The Next Lecture.html
00:00 -
009 Launching Only Some Docker Compose Services.mp4
00:00 -
010 Adding More Utility Containers.mp4
00:00 -
011 Docker Compose with and without Dockerfiles.mp4
00:00 -
012 Bind Mounts and COPY When To Use What.mp4
00:00 -
013 Module Resources.html
00:00 -
Section Quiz
09 – Deploying Docker Containers
-
001 Module Introduction.mp4
00:00 -
002 From Development To Production.mp4
00:00 -
003 Deployment Process & Providers.mp4
00:00 -
004 Getting Started With An Example.mp4
00:00 -
005 Bind Mounts In Production.mp4
00:00 -
006 Introducing AWS & EC2.mp4
00:00 -
007 Connecting to an EC2 Instance.mp4
00:00 -
008 Installing Docker on a Virtual Machine.mp4
00:00 -
009 Installing Docker on Linux in General.html
00:00 -
010 Pushing our local Image to the Cloud.mp4
00:00 -
011 Running & Publishing the App (on EC2).mp4
00:00 -
012 Managing & Updating the Container Image.mp4
00:00 -
013 Disadvantages of our Current Approach.mp4
00:00 -
014 From Manual Deployment to Managed Services.mp4
00:00 -
015 Important AWS, Pricing and ECS.html
00:00 -
016 Deploying with AWS ECS A Managed Docker Container Service.mp4
00:00 -
017 More on AWS.mp4
00:00 -
018 Updating Managed Containers.mp4
00:00 -
019 Preparing a Multi-Container App.mp4
00:00 -
020 Configuring the NodeJS Backend Container.mp4
00:00 -
021 Deploying a Second Container & A Load Balancer.mp4
00:00 -
022 Using a Load Balancer for a Stable Domain.mp4
00:00 -
023 Using EFS Volumes with ECS.mp4
00:00 -
024 Our Current Architecture.mp4
00:00 -
025 Databases & Containers An Important Consideration.mp4
00:00 -
026 Moving to MongoDB Atlas.mp4
00:00 -
027 Using MongoDB Atlas in Production.mp4
00:00 -
028 Our Updated & Target Architecture.mp4
00:00 -
029 Understanding a Common Problem.mp4
00:00 -
030 Creating a build-only Container.mp4
00:00 -
031 Introducing Multi-Stage Builds.mp4
00:00 -
032 Building a Multi-Stage Image.mp4
00:00 -
033 Deploying a Standalone Frontend App.mp4
00:00 -
034 Development vs Production Differences.mp4
00:00 -
035 Understanding Multi-Stage Build Targets.mp4
00:00 -
036 Beyond AWS.mp4
00:00 -
037 Module Summary.mp4
00:00 -
038 Module Resources.html
00:00 -
external-links.txt
00:00 -
Section Quiz
10 – Docker & Containers – A Summary
-
001 Module Introduction.mp4
00:00 -
002 Images & Containers.mp4
00:00 -
003 Key Commands.mp4
00:00 -
004 Data, Volumes & Networking.mp4
00:00 -
005 Docker Compose.mp4
00:00 -
006 Local vs Remote.mp4
00:00 -
007 Deployment.mp4
00:00 -
008 Module Resources.html
00:00 -
Section Quiz
11 – Getting Started with Kubernetes
-
001 Module Introduction.mp4
00:00 -
002 More Problems with Manual Deployment.mp4
00:00 -
003 Why Kubernetes.mp4
00:00 -
004 What Is Kubernetes Exactly.mp4
00:00 -
005 Kubernetes Architecture & Core Concepts.mp4
00:00 -
006 Kubernetes will NOT manage your Infrastructure!.mp4
00:00 -
007 A Closer Look at the Worker Nodes.mp4
00:00 -
008 A Closer Look at the Master Node.mp4
00:00 -
009 Important Terms & Concepts.mp4
00:00 -
010 Module Resources.html
00:00 -
Section Quiz
12 – Kubernetes in Action – Diving into the Core Concepts
-
001 Module Introduction.mp4
00:00 -
002 Kubernetes does NOT manage your Infrastructure.mp4
00:00 -
003 Kubernetes Required Setup & Installation Steps.mp4
00:00 -
004 macOS Setup.mp4
00:00 -
005 Windows Setup.mp4
00:00 -
006 Understanding Kubernetes Objects (Resources).mp4
00:00 -
007 The Deployment Object (Resource).mp4
00:00 -
008 A First Deployment – Using the Imperative Approach.mp4
00:00 -
009 kubectl Behind The Scenes.mp4
00:00 -
010 The Service Object (Resource).mp4
00:00 -
011 Exposing a Deployment with a Service.mp4
00:00 -
012 Restarting Containers.mp4
00:00 -
013 Scaling in Action.mp4
00:00 -
014 Updating Deployments.mp4
00:00 -
015 Deployment Rollbacks & History.mp4
00:00 -
016 The Imperative vs The Declarative Approach.mp4
00:00 -
017 Creating a Deployment Configuration File (Declarative Approach).mp4
00:00 -
018 Adding Pod and Container Specs.mp4
00:00 -
019 Working with Labels & Selectors.mp4
00:00 -
020 Creating a Service Declaratively.mp4
00:00 -
021 Updating & Deleting Resources.mp4
00:00 -
022 Multiple vs Single Config Files.mp4
00:00 -
023 More on Labels & Selectors.mp4
00:00 -
024 Liveness Probes.mp4
00:00 -
025 A Closer Look at the Configuration Options.mp4
00:00 -
026 Summary.mp4
00:00 -
027 Module Resources.html
00:00 -
external-links.txt
00:00 -
Section Quiz
13 – Managing Data & Volumes with Kubernetes
-
001 Module Introduction.mp4
00:00 -
002 Starting Project & What We Know Already.mp4
00:00 -
003 Kubernetes & Volumes – More Than Docker Volumes.mp4
00:00 -
004 Kubernetes Volumes Theory & Docker Comparison.mp4
00:00 -
005 Creating a New Deployment & Service.mp4
00:00 -
006 Getting Started with Kubernetes Volumes.mp4
00:00 -
007 A First Volume The emptyDir Type.mp4
00:00 -
008 A Second Volume The hostPath Type.mp4
00:00 -
009 Understanding the CSI Volume Type.mp4
00:00 -
010 From Volumes to Persistent Volumes.mp4
00:00 -
011 Defining a Persistent Volume.mp4
00:00 -
012 Creating a Persistent Volume Claim.mp4
00:00 -
013 Using a Claim in a Pod.mp4
00:00 -
014 Volumes vs Persistent Volumes.mp4
00:00 -
015 Using Environment Variables.mp4
00:00 -
016 Environment Variables & ConfigMaps.mp4
00:00 -
017 Module Summary.mp4
00:00 -
018 Module Resources.html
00:00 -
external-links.txt
00:00 -
Section Quiz
14 – Kubernetes Networking
-
001 Module Introduction.mp4
00:00 -
002 Starting Project & Our Goal.mp4
00:00 -
003 Creating a First Deployment.mp4
00:00 -
004 Another Look at Services.mp4
00:00 -
005 Multiple Containers in One Pod.mp4
00:00 -
006 Pod-internal Communication.mp4
00:00 -
007 Creating Multiple Deployments.mp4
00:00 -
008 Pod-to-Pod Communication with IP Addresses & Environment Variables.mp4
00:00 -
009 Using DNS for Pod-to-Pod Communication.mp4
00:00 -
010 Which Approach Is Best And a Challenge!.mp4
00:00 -
011 Challenge Solution.mp4
00:00 -
012 Adding a Containerized Frontend.mp4
00:00 -
013 Deploying the Frontend with Kubernetes.mp4
00:00 -
014 Using a Reverse Proxy for the Frontend.mp4
00:00 -
015 Module Summary.mp4
00:00 -
016 Module Resources.html
00:00 -
external-links.txt
00:00 -
Section Quiz
15 – Kubernetes – Deployment (AWS EKS)
-
001 Module Introduction.mp4
00:00 -
002 Deployment Options & Steps.mp4
00:00 -
003 AWS EKS vs AWS ECS.mp4
00:00 -
004 Preparing the Starting Project.mp4
00:00 -
005 A Note on AWS EKS Pricing.html
00:00 -
006 Diving Into AWS.mp4
00:00 -
007 Creating & Configuring the Kubernetes Cluster with EKS.mp4
00:00 -
008 Adding Worker Nodes.mp4
00:00 -
009 Applying Our Kubernetes Config.mp4
00:00 -
010 Getting Started with Volumes.mp4
00:00 -
011 Adding EFS as a Volume (with the CSI Volume Type).mp4
00:00 -
012 Creating a Persistent Volume for EFS.mp4
00:00 -
013 Using the EFS Volume.mp4
00:00 -
014 A Challenge!.mp4
00:00 -
015 Challenge Solution.mp4
00:00 -
016 Module Resources.html
00:00 -
external-links.txt
00:00 -
Section Quiz
16 – Roundup & Next Steps
-
001 You Learned A Lot!.mp4
00:00 -
002 Related Topics You Could Explore.mp4
00:00 -
003 Next Steps!.mp4
00:00 -
004 Course Roundup.mp4
00:00 -
005 Bonus!.html
00:00
Earn a certificate
Add this certificate to your resume to demonstrate your skills & increase your chances of getting noticed.