4.64 out of 5
4.64
10085 reviews on Udemy

Docker and Kubernetes: The Complete Guide

Build, test, and deploy Docker applications with Kubernetes while learning production-style development workflows
Instructor:
Stephen Grider
49,488 students enrolled
English [Auto-generated] More
Learn Docker from scratch, no previous experience required
Master the Docker CLI to inspect and debug running containers
Build a CI + CD pipeline from scratch with Github, Travis CI, and AWS
Understand the purpose and theory of Kubernetes by building a complex app
Automatically deploy your code when it is pushed to Github!

If you’re tired of spinning your wheels learning how to deploy web applications, this is the course for you.

CI+CD Workflows? You will learn it.  AWS Deployment? Included.  Kubernetes in Production? Of course!

This is the ultimate course to learn how to deploy any web application you can possibly dream up.  Docker and Kubernetes are the newest tech in the Dev Ops world, and have dramatically changed the flow of creating and deploying web apps.  Docker is a technology that allows applications to run in constructs called ‘containers’, while Kubernetes allows for many different ‘containers’ to run in coordination.

Docker from Scratch!

In this course you’ll learn Docker from absolute fundamentals, beginning by learning the answer to basic questions such as “What is a container?” and “How does a container work?”.  From the very first few lectures, we will do a deep dive on the inner workings of containers, so you get a core understanding of exactly how they are implemented.  Once you understand what a container is, you’ll learn how to work with them using basic Docker CLI commands.  After that, you’ll apply your new-found mastery of the Docker CLI to build your own custom images, effectively ‘Dockerizing’ your own personal applications. 

CI + CD Pipelines

Of course, no course on Docker would be complete without a full understanding of common Continuous Integration and Continuous Deployment patterns.  You will learn how to implement a full CI + CD workflow using Github, Travis CI, and Amazon Web Services, creating a pipeline that automatically deploys your code every time you push your latest changes to Github!

Multi-Container Deployments on AWS!

After building a deployment pipeline, you’ll apply it to master both single-container and multi-container deployments on Amazon Web Services.  You will construct a multi-container application utilizing Node, React, Redis, and Postgres, and see the amazing power of containers in action (Note: all Javascript coding in this course is optional, the full source code is provided if you don’t want to write JS).

Kubernetes!

Finally, you will tackle Kubernetes, a production-grade system for managing complex applications with many different running containers.  You will learn the right way to build a Kubernetes Cluster – this course doesn’t have any of those annoying “don’t do this in production” comments!  You will first build a Kubernetes Cluster on your local machine, then eventually move it over to a cloud provider.  You’ll even learn how to set up HTTPS on Kubernetes, which is harder than it sounds!

Here’s what you’ll do:

  • Learn Docker from scratch, no previous experience required

  • Build your own custom images tailored to your applications

  • Master the Docker CLI to inspect and debug running containers

  • Understand how Docker works behind the scenes, and what a container is

  • Build a CI + CD pipeline from scratch with Github, Travis CI, and AWS

  • Automatically deploy your code when it is pushed to Github!

  • Build a complex multi-container application from scratch and deploy it to AWS

  • Understand the purpose and theory of Kubernetes

  • Deploy a production-ready Kubernetes Cluster to Google Cloud

Dive Into Docker!

1
Why Use Docker?
2
What is Docker?
3
Docker for Mac/Windows
4
Installing Docker on MacOS
5
Installing Docker for Windows Home users
6
Installing Docker for Windows - Professional and Enterprise Editions
7
More Windows Setup - Professional and Enterprise Editions
8
One Last Piece of Windows Setup - Professional and Enterprise Editions
9
Installing Docker on Linux
10
Using the Docker Client
11
But Really...What's a Container?
12
How's Docker Running on Your Computer?

Manipulating Containers with the Docker Client

1
Docker Run in Detail
2
Overriding Default Commands
3
Listing Running Containers
4
Container Lifecycle
5
Restarting Stopped Containers
6
Removing Stopped Containers
7
Retrieving Log Outputs
8
Stopping Containers
9
Multi-Command Containers
10
Executing Commands in Running Containers
11
The Purpose of the IT Flag
12
Getting a Command Prompt in a Container
13
Starting with a Shell
14
Container Isolation

Building Custom Images Through Docker Server

1
Creating Docker Images
2
Building a Dockerfile
3
Dockerfile Teardown
4
What's a Base Image?
5
The Build Process in Detail
6
A Brief Recap
7
Rebuilds with Cache
8
Tagging an Image
9
Manual Image Generation with Docker Commit

Making Real Projects with Docker

1
Project Outline
2
Node Server Setup
3
Server Code
4
A Few Planned Errors
5
Base Image Issues
6
A Few Missing Files
7
Copying Build Files
8
Container Port Mapping
9
Specifying a Working Directory
10
Unnecessary Rebuilds
11
Minimizing Cache Busting and Rebuilds

Docker Compose with Multiple Local Containers

1
App Overview
2
App Server Code
3
Completed Node Code
4
Assembling a Dockerfile
5
Introducing Docker Compose
6
Docker Compose Files
7
Networking with Docker Compose
8
Docker Compose Commands
9
Stopping Docker Compose Containers
10
Container Maintenance with Compose
11
Automatic Container Restarts
12
Container Status with Docker Compose

Creating a Production-Grade Workflow

1
Development Workflow
2
Flow Specifics
3
Docker's Purpose
4
Project Generation
5
More on Project Generation
6
Necessary Commands
7
Creating the Dev Dockerfile
8
Duplicating Dependencies
9
Starting the Container
10
Quick Note for Windows Users
11
Docker Volumes
12
Bookmarking Volumes
13
Shorthand with Docker Compose
14
Overriding Dockerfile Selection
15
Do We Need Copy?
16
Executing Tests
17
Live Updating Tests
18
Docker Compose for Running Tests
19
Shortcomings on Testing
20
Need for Nginx
21
Multi-Step Docker Builds
22
Implementing Multi-Step Builds
23
Running Nginx

Continuous Integration and Deployment with AWS

1
Services Overview
2
Github Setup
3
Travis CI Setup
4
Travis YML File Configuration
5
A Touch More Travis Setup
6
Automatic Build Creation
7
AWS Elastic Beanstalk
8
More on Elastic Beanstalk
9
Travis Config for Deployment
10
Automated Deployments
11
Exposing Ports Through the Dockerfile
12
Build Still Failing?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.6
4.6 out of 5
10085 Ratings

Detailed Rating

Stars 5
6223
Stars 4
3181
Stars 3
592
Stars 2
83
Stars 1
36
0d838fc731a337a4dee53188f34b4168
30-Day Money-Back Guarantee

Includes

21 hours on-demand video
18 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion