Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Meditation Personal Transformation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Modeling Data Analysis Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Blogging Freelancing Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
2021-01-14 09:01:37
30-Day Money-Back Guarantee
Development Web Development Docker Containers

Docker & Kubernetes: The Practical Guide

Learn Docker, Docker Compose, Multi-Container Projects, Deployment and all about Kubernetes from the ground up!
Bestseller
Rating: 4.7 out of 54.7 (2,786 ratings)
22,436 students
Created by Academind by Maximilian Schwarzmüller, Maximilian Schwarzmüller
Last updated 11/2020
English
English
30-Day Money-Back Guarantee

What you'll learn

  • You will 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
Curated for the Udemy for Business collection

Course content

16 sections • 259 lectures • 23h 38m total length

  • Preview02:32
  • Preview04:42
  • Preview05:59
  • Preview00:21
  • Preview08:55
  • Preview04:31
  • Preview03:33
  • Preview09:44
  • Preview06:51
  • Docker Playground
    00:08
  • Preview03:04
  • Preview02:07
  • Preview09:23
  • Preview04:14
  • Preview03:24
  • Course Resources
    00:09

  • Preview01:16
  • Images & Containers: What and Why?
    02:29
  • Using & Running External (Pre-Built) Images
    08:28
  • Our Goal: A NodeJS App
    06:40
  • Building our own Image with a Dockerfile
    11:14
  • Running a Container based on our own Image
    07:58
  • EXPOSE & A Little Utility Functionality
    00:41
  • Images are Read-Only!
    05:51
  • Understanding Image Layers
    08:20
  • A First Summary
    03:18
  • Images & Containers
    7 questions
  • Managing Images & Containers
    02:01
  • Stopping & Restarting Containers
    04:31
  • Understanding Attached & Detached Containers
    07:50
  • Attaching to an already-running Container
    00:13
  • Entering Interactive Mode
    10:44
  • Deleting Images & Containers
    06:26
  • Removing Stopped Containers Automatically
    03:18
  • A Look Behind the Scenes: Inspecting Images
    04:00
  • Copying Files Into & From A Container
    04:58
  • Naming & Tagging Containers and Images
    09:28
  • Time to Practice: Images & Containers
    1 question
  • Sharing Images - Overview
    06:37
  • Pushing Images to DockerHub
    10:44
  • Pulling & Using Shared Images
    04:50
  • Managing Images & Containers
    4 questions
  • Module Summary
    05:00
  • Module Resources
    00:08

  • Module Introduction
    01:27
  • Understanding Data Categories / Different Kinds of Data
    07:20
  • Analyzing a Real App
    03:02
  • Building & Understanding the Demo App
    08:36
  • Understanding the Problem
    05:25
  • Introducing Volumes
    02:57
  • A First, Unsuccessful Try
    07:45
  • Named Volumes To The Rescue!
    08:35
  • Removing Anonymous Volumes
    00:33
  • Getting Started With Bind Mounts (Code Sharing)
    10:42
  • Bind Mounts - Shortcuts
    00:18
  • Combining & Merging Different Volumes
    07:52
  • A NodeJS-specific Adjustment: Using Nodemon in a Container
    07:16
  • Volumes & Bind Mounts: Summary
    05:54
  • Volumes & Bind Mounts
    7 questions
  • A Look at Read-Only Volumes
    05:40
  • Managing Docker Volumes
    07:39
  • Using "COPY" vs Bind Mounts
    03:26
  • Don't COPY Everything: Using "dockerignore" Files
    02:31
  • Adding more to the .dockerignore File
    00:14
  • Working with Environment Variables & ".env" Files
    08:47
  • Environment Variables & Security
    00:34
  • Using Build Arguments (ARG)
    05:09
  • Module Summary
    05:15
  • Module Resources
    00:05

  • Module Introduction
    01:16
  • Case 1: Container to WWW Communication
    03:49
  • Case 2: Container to Local Host Machine Communication
    02:13
  • Case 3: Container to Container Communication
    02:41
  • Analyzing the Demo App
    07:50
  • Creating a Container & Communicating to the Web (WWW)
    06:45
  • Making Container to Host Communication Work
    04:37
  • Container to Container Communication: A Basic Solution
    07:06
  • Introducing Docker Networks: Elegant Container to Container Communication
    10:00
  • How Docker Resolves IP Addresses
    02:22
  • Docker Container Communication & Networks
    4 questions
  • Docker Network Drivers
    00:51
  • Module Summary
    01:26
  • Module Resources
    00:05

  • Module Introduction
    02:08
  • Our Target App & Setup
    10:48
  • Dockerizing the MongoDB Service
    04:26
  • Dockerizing the Node App
    07:30
  • Moving the React SPA into a Container
    08:26
  • Adding Docker Networks for Efficient Cross-Container Communication
    11:50
  • Adding Data Persistence to MongoDB with Volumes
    08:16
  • Volumes, Bind Mounts & Polishing for the NodeJS Container
    15:02
  • Live Source Code Updates for the React Container (with Bind Mounts)
    06:50
  • Module Summary
    04:43
  • Module Resources
    00:05

  • Module Introduction
    03:08
  • Docker-Compose: What & Why?
    04:33
  • Creating a Compose File
    06:17
  • Diving into the Compose File Configuration
    11:20
  • Installing Docker Compose on Linux
    00:13
  • Docker Compose Up & Down
    03:46
  • Working with Multiple Containers
    14:51
  • Adding Another Container
    05:55
  • Building Images & Understanding Container Names
    05:25
  • Docker Compose
    5 questions
  • Module Summary
    02:29
  • Module Resources
    00:05

  • Module Introduction & What are "Utility Containers"?
    02:39
  • Utility Containers: Why would you use them?
    03:02
  • Different Ways of Running Commands in Containers
    05:56
  • Building a First Utility Container
    04:51
  • Utilizing ENTRYPOINT
    05:27
  • Using Docker Compose
    06:09
  • Utility Containers, Permissions & Linux
    00:11
  • Module Summary
    01:31
  • Module Resources
    00:01

  • Module Introduction
    02:29
  • The Target Setup
    07:13
  • Adding a Nginx (Web Server) Container
    08:08
  • Adding a PHP Container
    10:44
  • Adding a MySQL Container
    03:21
  • Adding a Composer Utility Container
    03:59
  • Creating a Laravel App via the Composer Utility Container
    03:36
  • Fixing Errors With The Next Lecture
    00:49
  • Launching Only Some Docker Compose Services
    11:54
  • Adding More Utility Containers
    06:25
  • Docker Compose with and without Dockerfiles
    04:08
  • Bind Mounts and COPY: When To Use What
    14:20
  • Module Resources
    00:05

  • Module Introduction
    03:40
  • From Development To Production
    07:12
  • Deployment Process & Providers
    06:26
  • Getting Started With An Example
    04:02
  • Bind Mounts In Production
    05:05
  • Introducing AWS & EC2
    02:36
  • Connecting to an EC2 Instance
    08:23
  • Installing Docker on a Virtual Machine
    01:56
  • Installing Docker on Linux in General
    00:15
  • Pushing our local Image to the Cloud
    05:34
  • Running & Publishing the App (on EC2)
    10:20
  • Managing & Updating the Container / Image
    05:31
  • Disadvantages of our Current Approach
    04:43
  • From Manual Deployment to Managed Services
    05:46
  • Important: AWS, Pricing and ECS
    00:20
  • Deploying with AWS ECS: A Managed Docker Container Service
    13:59
  • More on AWS
    04:12
  • Updating Managed Containers
    03:28
  • Preparing a Multi-Container App
    10:56
  • Configuring the NodeJS Backend Container
    10:31
  • Deploying a Second Container & A Load Balancer
    09:12
  • Using a Load Balancer for a Stable Domain
    05:16
  • Using EFS Volumes with ECS
    17:53
  • Our Current Architecture
    01:55
  • Databases & Containers: An Important Consideration
    05:16
  • Moving to MongoDB Atlas
    13:45
  • Using MongoDB Atlas in Production
    07:33
  • Our Updated & Target Architecture
    02:25
  • Understanding a Common Problem
    05:34
  • Creating a "build-only" Container
    04:47
  • Introducing Multi-Stage Builds
    07:52
  • Building a Multi-Stage Image
    06:09
  • Deploying a Standalone Frontend App
    15:53
  • Development vs Production: Differences
    03:51
  • Understanding Multi-Stage Build Targets
    02:32
  • Beyond AWS
    02:02
  • Module Summary
    06:43
  • Module Resources
    00:05

  • Module Introduction
    00:57
  • Images & Containers
    03:36
  • Key Commands
    02:14
  • Data, Volumes & Networking
    03:13
  • Docker Compose
    01:11
  • Local vs Remote
    02:38
  • Deployment
    04:27
  • Module Resources
    00:01

Requirements

  • NO prior Docker or Kubernetes experience is required!
  • Basic (web) development knowledge is required - you don't need to know a specific language though
  • AWS (used in a couple of deployment examples, ~4 hours of the course) requires a credit card - you can also follow along passively though

Description

Docker & Kubernetes are amongst the most in-demand technologies and topics you can learn these days.

Why?

Because they significantly simplify the development and deployment process of both simple and complex software projects. Especially in web development (though not limited to that), Docker can really take you to the next level!

With Docker, you create and manage so-called "Containers" - basically packages of code and tools required to run that code. These containers allow you to run your programs in a predictable, environment-independent way - no matter where you need to run it.

For modern DevOps but also for local development - on your own or in a team - this is a winner feature since you will no longer have any "but it worked on my machine" discussions. It works inside of a container, hence it works everywhere!

This course will teach you both Docker & Kubernetes from the ground up with all the required theory and tons of examples and demos!

We'll explore all key concepts in detail and with practical examples and demos - from images and containers, over volumes and networking all the way up to deployment and Kubernetes Cluster: This course has it all!

In detail, this course includes the following topics:

  • A thorough introduction to Docker, containers and why you might want to use Docker

  • Detailed setup instructions for macOS and Windows

  • A deep-dive into the core concepts you need to know: Containers & images

  • Learn how to create custom images, use existing images and how to run containers based on such images

  • Get a detailed overview of the core commands you need when working with Docker

  • Learn how to work with data and how to persist data with volumes

  • Explore container networking - with the outside world and between multiple containers

  • Learn how to work with both single and multi-container projects

  • In-depth deployment instructions: Manual deployment and deployment with managed services like AWS ECS

  • Understand Kubernetes core concepts & architecture

  • Learn how to create Kubernetes resources, deployments, services and how to run your containers with Kubernetes

  • Dive deeply into working with data in Kubernetes projects - with different types of volumes

  • Kubernetes networking and DNS service discovery

  • Learn how to deploy your Kubernetes project (at the example of AWS EKS)

  • And much more!

All these topics are taught in great detail with slides and theory but also, most importantly, with many examples and demo!

You'll find tons of demo projects throughout the course - using programming languages like NodeJS, Python or PHP (with Laravel). You don't need to know these languages to follow along though, no worries!

Who this course is for:

  • Everyone who has NOT worked with Docker or Kubernetes at all
  • Everyone who is struggling with understanding what exactly Docker is (and why you might want to use it)
  • (Web) developers who want to explore modern DevOps and Docker

Featured review

Steve Bailey
Steve Bailey
24 courses
8 reviews
Rating: 5.0 out of 52 months ago
Max, this is spectacular. I bought another Udemy course on Docker, but didn't stay with it because of the weird mismash of the way the topics were brought up in the particular sequence it does I feel like I'm understanding the different levels of what you can do with Docker to a degree of really owning how efficient I can be with everthing that docker provides.. and without having to really master all of the advanced topics.

Instructors

Academind by Maximilian Schwarzmüller
Online Education
Academind by Maximilian Schwarzmüller
  • 4.6 Instructor Rating
  • 315,529 Reviews
  • 1,330,888 Students
  • 25 Courses

Bundling the courses and know how of successful instructors, Academind strives to deliver high quality online education. 

Online Education, Real-Life Success - that's what Academind stands for. Learn topics like web development, data analyses and more in a fun and engaging way.

Currently, you can find courses published by Maximilian Schwarzmüller and Manuel Lorenz, more instructors to come!

Keep learning!

Maximilian Schwarzmüller
Professional Web Developer and Instructor
Maximilian Schwarzmüller
  • 4.6 Instructor Rating
  • 569,897 Reviews
  • 1,349,989 Students
  • 35 Courses

Experience as (Web) Developer

Starting out at the age of 13 I never stopped learning new programming skills and languages. Early I started creating websites for friends and just for fun as well. Besides web development I also explored Python and other non-web-only languages. This passion has since lasted and lead to my decision of working as a freelance web developer and consultant. The success and fun I have in this job is immense and really keeps that passion burningly alive.

Starting web development on the backend (PHP with Laravel, NodeJS, Python) I also became more and more of a frontend developer using modern frameworks like React, Angular or VueJS in a lot of projects. I love both worlds nowadays!

As a self-taught developer I had the chance to broaden my horizon by studying Business Administration where I hold a Master's degree. That enabled me to work in a major strategy consultancy as well as a bank. While learning, that I enjoy development more than these fields, the time in this sector greatly improved my overall experience and skills.

Experience as Instructor

As a self-taught professional I really know the hard parts and the difficult topics when learning new or improving on already-known languages. This background and experience enables me to focus on the most relevant key concepts and topics. My track record of many 5-star rated courses, more than 1,000,000 students on Udemy as well as a successful YouTube channel is the best proof for that.

Whether working as development instructor or teaching Business Administration I always received great feedback. The most rewarding experience is to see how people find new, better jobs, build awesome web applications, acquire amazing projects or simply enjoy their hobby with the help of my content.

Together with Manuel Lorenz, I founded Academind to offer the best possible learning experience to our more than 1,000,000 students.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.