Section 1 : Dive Into Docker!

Lecture 1 Finished Code and Diagrams
Lecture 2 Why Use Docker 00:03:44 Duration
Lecture 3 What is Docker 00:02:53 Duration
Lecture 4 Docker for MacWindows 00:01:57 Duration
Lecture 5 Installing Docker on MacOS 00:04:45 Duration
Lecture 6 Installing Docker for Windows Home users
Lecture 7 Installing Docker for Windows Profressional 00:02:03 Duration
Lecture 8 More Windows Professional Setup 00:00:40 Duration
Lecture 9 One Last Piece of Windows Professional Setup 00:01:09 Duration
Lecture 10 Installing Docker on Linux
Lecture 11 Using the Docker Client 00:05:03 Duration
Lecture 12 But Really...What's a Container 00:08:30 Duration
Lecture 13 How's Docker Running on Your Computer 00:02:44 Duration

Section 2 : Manipulating Containers with the Docker Client

Lecture 1 Docker Run in Detail 00:01:54 Duration
Lecture 2 Overriding Default Commands
Lecture 3 Listing Running Containers 00:04:09 Duration
Lecture 4 Container Lifecycle 00:05:17 Duration
Lecture 5 Restarting Stopped Containers 00:01:39 Duration
Lecture 6 Removing Stopped Containers 00:01:39 Duration
Lecture 7 Retrieving Log Outputs 00:02:34 Duration
Lecture 8 Stopping Containers 00:05:21 Duration
Lecture 9 Multi-Command Containers 00:04:16 Duration
Lecture 10 Executing Commands in Running Containers 00:02:53 Duration
Lecture 11 The Purpose of the IT Flag 00:04:35 Duration
Lecture 12 Getting a Command Prompt in a Container 00:04:07 Duration
Lecture 13 Starting with a Shell 00:02:14 Duration
Lecture 14 Container Isolation 00:03:09 Duration

Section 3 : Building Custom Images Through Docker Server

Lecture 1 Creating Docker Images 00:02:37 Duration
Lecture 2 Buildkit for Docker Desktop v2.4.0+ and Edge
Lecture 3 Building a Dockerfile 00:04:51 Duration
Lecture 4 Dockerfile Teardown 00:02:41 Duration
Lecture 5 What's a Base Image 00:05:41 Duration
Lecture 6 The Build Process in Detail 00:11:09 Duration
Lecture 7 A Brief Recap 00:03:25 Duration
Lecture 8 Rebuilds with Cache 00:07:02 Duration
Lecture 9 Tagging an Image 00:04:27 Duration
Lecture 10 Quick Note for Windows Users
Lecture 11 Manual Image Generation with Docker Commit 00:05:01 Duration

Section 4 : Making Real Projects with Docker

Lecture 1 Project Outline 00:02:35 Duration
Lecture 2 Node Server Setup 00:05:04 Duration
Lecture 3 A Few Planned Errors 00:05:13 Duration
Lecture 4 Resolving npm ERR! could not detect node name
Lecture 5 Base Image Issues 00:07:51 Duration
Lecture 6 A Few Missing Files 00:03:18 Duration
Lecture 7 Copying Build Files 00:04:51 Duration
Lecture 8 Reminder for Windows Home Docker Toolbox
Lecture 9 Container Port Mapping 00:07:27 Duration
Lecture 10 Specifying a Working Directory
Lecture 11 Unnecessary Rebuilds 00:04:16 Duration
Lecture 12 Minimizing Cache Busting and Rebuilds 00:04:59 Duration

Section 5 : Docker Compose with Multiple Local Containers

Lecture 1 App Overview 00:03:57 Duration
Lecture 2 App Server Starter Code 00:06:43 Duration
Lecture 3 Assembling a Dockerfile 00:03:12 Duration
Lecture 4 Introducing Docker Compose 00:05:32 Duration
Lecture 5 Docker Compose Files 00:06:02 Duration
Lecture 6 Networking with Docker Compose 00:05:01 Duration
Lecture 7 Docker Compose Commands 00:04:39 Duration
Lecture 8 Stopping Docker Compose Containers 00:02:34 Duration
Lecture 9 Container Maintenance with Compose 00:02:54 Duration
Lecture 10 Automatic Container Restarts 00:09:21 Duration
Lecture 11 Container Status with Docker Compose 00:02:21 Duration

Section 6 : Creating a Production-Grade Workflow

Lecture 1 Development Workflow 00:01:28 Duration
Lecture 2 Flow Specifics 00:06:32 Duration
Lecture 3 Docker's Purpose 00:01:50 Duration
Lecture 4 Project Generation 00:03:26 Duration
Lecture 5 Create React App Generation
Lecture 6 More on Project Generation 00:01:45 Duration
Lecture 7 Necessary Commands 00:05:10 Duration
Lecture 8 Creating the Dev Dockerfile 00:03:42 Duration
Lecture 9 Duplicating Dependencies 00:01:29 Duration
Lecture 10 React App Exits Immediately with Docker Run Co
Lecture 11 Starting the Container 00:02:50 Duration
Lecture 12 Docker Volumes 00:06:53 Duration
Lecture 13 Windows not Detecting Changes - Update
Lecture 14 Bookmarking Volumes 00:04:51 Duration
Lecture 15 React App Exited With Code 0
Lecture 16 Shorthand with Docker Compose 00:04:22 Duration
Lecture 17 Overriding Dockerfile Selection 00:02:03 Duration
Lecture 18 Windows not Detecting Changes - Docker Compose
Lecture 19 Do We Need 00:02:51 Duration
Lecture 20 Executing Tests 00:03:39 Duration
Lecture 21 Live Updating Tests 00:04:54 Duration
Lecture 22 Docker Compose for Running Tests 00:05:46 Duration
Lecture 23 Tests Not Re-running on Windows
Lecture 24 Attaching to Web container
Lecture 25 Shortcomings on Testing 00:08:31 Duration
Lecture 26 Need for Nginx 00:03:07 Duration
Lecture 27 Multi-Step Docker Builds 00:06:54 Duration
Lecture 28 Named Builders and AWS
Lecture 29 Implementing Multi-Step Builds 00:07:05 Duration
Lecture 30 Running Nginx 00:02:28 Duration

Section 7 : Continuous Integration and Deployment with AWS

Lecture 1 Services Overview 00:03:04 Duration
Lecture 2 Github Setup 00:03:57 Duration
Lecture 3 Travis CI Setup 00:04:17 Duration
Lecture 4 Travis YML File Configuration 00:07:39 Duration
Lecture 5 Travis YML File Configuration
Lecture 6 A Touch More Travis Setup 00:04:15 Duration
Lecture 7 Automatic Build Creation 00:03:30 Duration
Lecture 8 Important info about AWS Platform Versions
Lecture 9 AWS Elastic Beanstalk 00:04:10 Duration
Lecture 10 More on Elastic Beanstalk 00:02:26 Duration
Lecture 11 Travis Config for Deployment 00:08:47 Duration
Lecture 12 Travis Keys Update
Lecture 13 104. Automated Deployments.mp4 00:07:17 Duration
Lecture 14 Exposing Ports Through the Dockerfile 00:03:57 Duration
Lecture 15 AWS Build Still Failing
Lecture 16 Workflow With Github 00:04:00 Duration
Lecture 17 Redeploy on Pull Request Merge 00:02:02 Duration
Lecture 18 Deployment Wrapup 00:02:03 Duration
Lecture 19 Environment Cleanup
Lecture 20 AWS Configuration Cheat Sheet
Lecture 21 Finished Project Code with Updates Applied

Section 8 : Building a Multi-Container Application

Lecture 1 Single Container Deployment Issues 00:03:03 Duration
Lecture 2 Application Overview 00:04:31 Duration
Lecture 3 A Quick Note
Lecture 4 Application Architecture 00:05:11 Duration
Lecture 5 Worker Process Setup 00:11:42 Duration
Lecture 6 Important note about PG module version
Lecture 7 Express API Setup 00:05:20 Duration
Lecture 8 Important Update for Table Query
Lecture 9 Connecting to Postgres 00:07:37 Duration
Lecture 10 More Express API Setup 00:12:20 Duration
Lecture 11 Create React App Generation
Lecture 12 Generating the React App 00:01:51 Duration
Lecture 13 Fetching Data in the React App 00:06:32 Duration
Lecture 14 Rendering Logic in the App 00:08:29 Duration
Lecture 15 Exporting the Fib Class 00:00:27 Duration
Lecture 16 Routing in the React App 00:04:36 Duration

Section 9 : Dockerizing Multiple Services

Lecture 1 Checkpoint Files
Lecture 2 Checkpoint Catchup 00:02:40 Duration
Lecture 3 Reminder on -it flag
Lecture 4 Dockerizing a React App - Again! 00:06:41 Duration
Lecture 5 Important Node Image Version Update
Lecture 6 Dockerizing Generic Node Apps 00:03:48 Duration
Lecture 7 Adding Postgres as a Service 00:07:06 Duration
Lecture 8 Docker-compose Config 00:06:17 Duration
Lecture 9 Postgres Database Required Fixes and Updates
Lecture 10 Environment Variables with Docker Compose 00:10:20 Duration
Lecture 11 Required Client Service Update and Worker Env
Lecture 12 The Worker and Client Services 00:03:43 Duration
Lecture 13 Nginx Path Routing 00:09:41 Duration
Lecture 14 Routing with Nginx 00:11:12 Duration
Lecture 15 Building a Custom Nginx Image 00:05:38 Duration
Lecture 16 Starting Up Docker Compose 00:01:50 Duration
Lecture 17 Nginx connect() failed - Connection refused w
Lecture 18 Troubleshooting Startup Bugs 00:03:22 Duration
Lecture 19 Opening Websocket Connections 00:03:52 Duration

Section 10 : A Continuous Integration Workflow for Multiple I

Lecture 1 Production Multi-Container Deployments 00:05:40 Duration
Lecture 2 Important Node Image Version Update
Lecture 3 Production Dockerfiles 00:06:05 Duration
Lecture 4 Multiple Nginx Instances 00:05:23 Duration
Lecture 5 Nginx fix for React Router
Lecture 6 Altering Nginx's Listen Port 00:04:53 Duration
Lecture 7 Cleaning Up Tests 00:01:11 Duration
Lecture 8 Github and Travis CI Setup 00:04:08 Duration
Lecture 9 Fix for Failing Travis Builds
Lecture 10 Travis Configuration Setup 00:08:46 Duration
Lecture 11 Pushing Images to Docker Hub 00:07:35 Duration
Lecture 12 Successful Image Building 00:01:50 Duration

Section 11 : Multi-Container Deployments to AWS

Lecture 1 Multi-Container Definition Files 00:04:30 Duration
Lecture 2 Finding Docs on Container Definitions
Lecture 3 Adding Container Definitions to DockerRun 00:05:19 Duration
Lecture 4 More Container Definitions 00:05:19 Duration
Lecture 5 Forming Container Links 00:07:48 Duration
Lecture 6 AWS Configuration Cheat Sheet - Updated for n
Lecture 7 Creating the EB Environment 00:03:30 Duration
Lecture 8 Managed Data Service Providers 00:10:44 Duration
Lecture 9 Overview of AWS VPC's and Security Groups 00:09:21 Duration
Lecture 10 RDS Database Creation 00:06:32 Duration
Lecture 11 ElastiCache Redis Creation 00:04:11 Duration
Lecture 12 Creating a Custom Security Group 00:04:18 Duration
Lecture 13 Applying Security Groups to Resources 00:04:59 Duration
Lecture 14 Setting Environment Variables 00:07:55 Duration
Lecture 15 IAM Keys for Deployment 00:05:12 Duration
Lecture 16 Travis Keys Update
Lecture 17 Travis Deploy Script 00:03:21 Duration
Lecture 18 Container Memory Allocations 00:04:11 Duration
Lecture 19 Verifying Deployment
Lecture 20 A Quick App Change 00:02:57 Duration
Lecture 21 Making Changes
Lecture 22 Cleaning Up AWS Resources 00:05:06 Duration
Lecture 23 AWS Configuration Cheat Sheet
Lecture 24 Finished Project Code with Updates Applied

Section 12 : Onwards to Kubernetes!

Lecture 1 The Why's and What's of Kubernetes 00:08:07 Duration
Lecture 2 Kubernetes in Development and Production 00:05:47 Duration
Lecture 3 Updated Minikube Install and Setup Info - mac
Lecture 4 Minikube Setup on MacOS 00:05:36 Duration
Lecture 5 Minikube Setup on Windows Pro
Lecture 6 Minikube Setup on Windows Home
Lecture 7 Minikube Setup on Linux
Lecture 8 Docker Desktop's Kubernetes instead of Miniku
Lecture 9 Mapping Existing Knowledge 00:07:37 Duration
Lecture 10 Quick Note to Prevent an Error
Lecture 11 Adding Configuration Files 00:06:52 Duration
Lecture 12 Object Types and API Versions 00:06:55 Duration
Lecture 13 Running Containers in Pods 00:09:19 Duration
Lecture 14 Service Config Files in Depth 00:13:38 Duration
Lecture 15 Connecting to Running Containers 00:10:25 Duration
Lecture 16 The Entire Deployment Flow 00:13:03 Duration
Lecture 17 Imperative vs Declarative Deployments 00:13:36 Duration

Section 13 : Maintaining Sets of Containers with Deployments

Lecture 1 Updating Existing Objects 00:06:10 Duration
Lecture 2 Declarative Updates in Action 00:07:04 Duration
Lecture 3 Limitations in Config Updates 00:02:56 Duration
Lecture 4 Running Containers with Deployments 00:06:03 Duration
Lecture 5 Quick Note to Prevent an Error
Lecture 6 Deployment Configuration Files 00:03:18 Duration
Lecture 7 Walking Through the Deployment Config 00:04:23 Duration
Lecture 8 Applying a Deployment 00:06:22 Duration
Lecture 9 Why Use Services 00:05:19 Duration
Lecture 10 Scaling and Changing Deployments 00:06:32 Duration
Lecture 11 Updating Deployment Images 00:03:57 Duration
Lecture 12 Rebuilding the Client Image 00:03:00 Duration
Lecture 13 Triggering Deployment Updates 00:12:25 Duration
Lecture 14 Imperatively Updating a Deployment's Image 00:07:25 Duration
Lecture 15 Reminder for Docker Desktop's Kubernetes User
Lecture 16 Multiple Docker Installations 00:05:38 Duration
Lecture 17 Reconfiguring Docker CLI 00:05:58 Duration
Lecture 18 Why Mess with Docker in the Node 00:05:06 Duration

Section 14 : A Multi-Container App with Kubernetes

Lecture 1 The Path to Production 00:05:13 Duration
Lecture 2 Checkpoint Files
Lecture 3 A Quick Checkpoint 00:04:36 Duration
Lecture 4 Recreating the Deployment 00:05:30 Duration
Lecture 5 NodePort vs ClusterIP Services 00:03:42 Duration
Lecture 6 The ClusterIP Config 00:03:52 Duration
Lecture 7 Applying Multiple Files with Kubectl 00:04:18 Duration
Lecture 8 Express API Deployment Config 00:06:03 Duration
Lecture 9 Cluster IP for the Express API 00:03:08 Duration
Lecture 10 Combining Config Into Single Files 00:05:59 Duration
Lecture 11 The Worker Deployment 00:04:37 Duration
Lecture 12 Reapplying a Batch of Config Files 00:04:52 Duration
Lecture 13 ]Creating and Applying Redis Config 00:07:26 Duration
Lecture 14 Important Note about Expected Postgres Error
Lecture 15 Last Set of Boring Config! 00:06:14 Duration
Lecture 16 The Need for Volumes with Databases 00:07:18 Duration
Lecture 17 Kubernetes Volumes 00:05:17 Duration
Lecture 18 Volumes vs Persistent Volumes 00:03:00 Duration
Lecture 19 Persistent Volumes vs Persistent Volume Claim 00:09:22 Duration
Lecture 20 Claim Config Files 00:02:57 Duration
Lecture 21 Persistent Volume Access Modes 00:03:31 Duration
Lecture 22 Where Does Kubernetes Allocate Persistent Vol 00:07:42 Duration
Lecture 23 Designating a PVC in a Pod Template 00:06:09 Duration
Lecture 24 Applying a PVC 00:02:22 Duration
Lecture 25 Defining Environment Variables 00:04:09 Duration
Lecture 26 Adding Environment Variables to Config 00:05:45 Duration
Lecture 27 Creating an Encoded Secret 00:09:25 Duration
Lecture 28 Postgres Environment Variable Fix
Lecture 29 Passing Secrets as Environment Variables 00:05:53 Duration
Lecture 30 Environment Variables as Strings 00:02:18 Duration

Section 15 : Handling Traffic with Ingress Controllers

Lecture 1 Load Balancer Services 00:04:15 Duration
Lecture 2 A Quick Note on Ingresses 00:03:33 Duration
Lecture 3 One Other Quick Note! 00:01:37 Duration
Lecture 4 Behind the Scenes of Ingress 00:05:17 Duration
Lecture 5 More Behind the Scenes of Ingress 00:06:38 Duration
Lecture 6 Optional Reading on Ingress Nginx
Lecture 7 Docker Driver and Ingress - IMPORTANT
Lecture 8 Update on Mandatory Commands
Lecture 9 Setting up Ingress Locally with Minikube 00:06:21 Duration
Lecture 10 Setting up Ingress with Docker Desktop's Kube
Lecture 11 Ingress Update this.state.seenIndexes.map is
Lecture 12 Creating the Ingress Configuratio 00:07:01 Duration
Lecture 13 Testing Ingress Locally 00:02:50 Duration
Lecture 14 Indexes I Have Seen is Empty
Lecture 15 The Minikube Dashboard 00:03:28 Duration
Lecture 16 Docker Desktop's Kubernetes Dashboard

Section 16 : Kubernetes Production Deployment

Lecture 1 The Deployment Process 00:05:50 Duration
Lecture 2 Google Cloud vs AWS for Kubernetes 00:04:53 Duration
Lecture 3 Creating a Git Repo 00:03:59 Duration
Lecture 4 Linking the Github Repo to Travis 00:01:35 Duration
Lecture 5 Free Google Cloud Credits
Lecture 6 Creating a Google Cloud Project 00:01:59 Duration
Lecture 7 Linking a Billing Account 00:02:11 Duration
Lecture 8 Kubernetes Engine Init 00:01:47 Duration
Lecture 9 Creating a Cluster with Google Cloud 00:04:09 Duration
Lecture 10 Docker and Kubernetes- The Complete Guide 00:04:47 Duration
Lecture 11 Kubernetes Dashboard on Google Cloud 00:04:34 Duration
Lecture 12 Travis Deployment Overview 00:05:05 Duration
Lecture 13 Installing the Google Cloud SDK 00:05:45 Duration
Lecture 14 Generating a Service Account 00:05:29 Duration
Lecture 15 Ruby Version Fix
Lecture 16 Running Travis CLI in a Container 00:09:18 Duration
Lecture 17 Fixes for Travis iv undefined or repository n
Lecture 18 Encrypting a Service Account File 00:07:55 Duration
Lecture 19 More Google Cloud CLI Config 00:04:40 Duration
Lecture 20 Fix For Failing Travis Builds
Lecture 21 Running Tests with Travis 00:06:18 Duration
Lecture 22 Custom Deployment Providers
Lecture 23 Unique Deployment Images 00:08:34 Duration
Lecture 24 Unique Tags for Built Images 00:07:48 Duration
Lecture 25 Updating the Deployment Script 00:07:51 Duration
Lecture 26 Configuring the GCloud CLI on Cloud Console 00:05:34 Duration
Lecture 27 Creating a Secret on Google Cloud 00:02:25 Duration
Lecture 28 Helm v3 Update
Lecture 29 Helm v2 Update
Lecture 30 Helm Setup 00:08:15 Duration
Lecture 31 Kubernetes Security with RBAC 00:08:21 Duration
Lecture 32 Assigning Tiller a Service Account 00:05:08 Duration
Lecture 33 Ingress-Nginx with Helm 00:01:57 Duration
Lecture 34 The Result of Ingress-Nginx
Lecture 35 Finally - Deployment! 00:03:31 Duration
Lecture 36 Did I Really Type That 00:00:46 Duration
Lecture 37 Verifying Deployment 00:04:24 Duration
Lecture 38 A Workflow for Changing in Prod 00:04:30 Duration
Lecture 39 Merging a PR for Deployment 00:01:01 Duration
Lecture 40 That's It! What's Next 00:01:38 Duration

Section 17 : HTTPS Setup with Kubernetes

Lecture 1 HTTPS Setup Overview 00:05:35 Duration
Lecture 2 Domain Purchase 00:02:17 Duration
Lecture 3 Domain Name Setup 00:03:31 Duration
Lecture 4 Fix for Cert Manager Breaking Changes
Lecture 5 Cert Manager Install 00:01:57 Duration
Lecture 6 How to Wire Up Cert Manager 00:05:58 Duration
Lecture 7 Issuer Config File 00:05:07 Duration
Lecture 8 Certificate Config File 00:05:18 Duration
Lecture 9 Deploying Changes 00:03:15 Duration
Lecture 10 Verifying the Certificate 00:03:55 Duration
Lecture 11 Ingress Config for HTTPS 00:06:50 Duration
Lecture 12 It Worked! 00:02:52 Duration
Lecture 13 Google Cloud Cleanup
Lecture 14 Local Environment Cleanup

Section 18 : Local Development with Skaffold

Lecture 1 Awkward Local Development 00:03:53 Duration
Lecture 2 Installing Skaffold 00:01:58 Duration
Lecture 3 The Skaffold Config File 00:06:42 Duration
Lecture 4 Live Sync Changes 00:05:02 Duration
Lecture 5 Automatic Shutdown 00:05:06 Duration
Lecture 6 Testing Live Sync with the API Server 00:05:28 Duration