Section 1 : Dive Into Docker!

Lecture 1 Why Use Docker 00:03:44 Duration
Lecture 2 What is Docker 00:02:53 Duration
Lecture 3 Docker for MacWindows 00:01:57 Duration
Lecture 4 Installing Docker on MacOS 00:04:45 Duration
Lecture 5 Installing Docker for Windows Profressional 00:02:03 Duration
Lecture 6 More Windows Professional Setup 00:00:40 Duration
Lecture 7 One Last Piece of Windows Professional Setup 00:01:09 Duration
Lecture 8 Using the Docker Client 00:05:03 Duration
Lecture 9 But Really...What's a Container 00:08:30 Duration
Lecture 10 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 Building a Dockerfile 00:04:51 Duration
Lecture 3 Dockerfile Teardown 00:02:41 Duration
Lecture 4 What's a Base Image 00:05:41 Duration
Lecture 5 The Build Process in Detail 00:11:09 Duration
Lecture 6 A Brief Recap 00:03:25 Duration
Lecture 7 Rebuilds with Cache 00:07:02 Duration
Lecture 8 Tagging an Image 00:04:27 Duration
Lecture 9 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 Base Image Issues 00:07:51 Duration
Lecture 5 A Few Missing Files 00:03:18 Duration
Lecture 6 Copying Build Files 00:04:51 Duration
Lecture 7 Container Port Mapping 00:07:27 Duration
Lecture 8 Specifying a Working Directory
Lecture 9 Unnecessary Rebuilds 00:04:16 Duration
Lecture 10 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 More on Project Generation 00:01:45 Duration
Lecture 6 Necessary Commands 00:05:10 Duration
Lecture 7 Creating the Dev Dockerfile 00:03:42 Duration
Lecture 8 Duplicating Dependencies 00:01:29 Duration
Lecture 9 Starting the Container 00:02:50 Duration
Lecture 10 Docker Volumes 00:06:53 Duration
Lecture 11 Bookmarking Volumes 00:04:51 Duration
Lecture 12 Shorthand with Docker Compose 00:04:22 Duration
Lecture 13 Overriding Dockerfile Selection 00:02:03 Duration
Lecture 14 Do We Need 00:02:51 Duration
Lecture 15 Executing Tests 00:03:39 Duration
Lecture 16 Live Updating Tests 00:04:54 Duration
Lecture 17 Docker Compose for Running Tests 00:05:46 Duration
Lecture 18 Shortcomings on Testing 00:08:31 Duration
Lecture 19 Need for Nginx 00:03:07 Duration
Lecture 20 Multi-Step Docker Builds 00:06:54 Duration
Lecture 21 Implementing Multi-Step Builds 00:07:05 Duration
Lecture 22 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 A Touch More Travis Setup 00:04:15 Duration
Lecture 6 Automatic Build Creation 00:03:30 Duration
Lecture 7 AWS Elastic Beanstalk 00:04:10 Duration
Lecture 8 More on Elastic Beanstalk 00:02:26 Duration
Lecture 9 Travis Config for Deployment 00:08:47 Duration
Lecture 10 104. Automated Deployments.mp4 00:07:17 Duration
Lecture 11 Exposing Ports Through the Dockerfile 00:03:57 Duration
Lecture 12 Workflow With Github 00:04:00 Duration
Lecture 13 Redeploy on Pull Request Merge 00:02:02 Duration
Lecture 14 Deployment Wrapup 00:02:03 Duration

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 Application Architecture 00:05:11 Duration
Lecture 4 Worker Process Setup 00:11:42 Duration
Lecture 5 Express API Setup 00:05:20 Duration
Lecture 6 Connecting to Postgres 00:07:37 Duration
Lecture 7 More Express API Setup 00:12:20 Duration
Lecture 8 Generating the React App 00:01:51 Duration
Lecture 9 Fetching Data in the React App 00:06:32 Duration
Lecture 10 Rendering Logic in the App 00:08:29 Duration
Lecture 11 Exporting the Fib Class 00:00:27 Duration
Lecture 12 Routing in the React App 00:04:36 Duration

Section 9 : Dockerizing Multiple Services

Lecture 1 Checkpoint Catchup 00:02:40 Duration
Lecture 2 Dockerizing a React App - Again! 00:06:41 Duration
Lecture 3 Dockerizing Generic Node Apps 00:03:48 Duration
Lecture 4 Adding Postgres as a Service 00:07:06 Duration
Lecture 5 Docker-compose Config 00:06:17 Duration
Lecture 6 Environment Variables with Docker Compose 00:10:20 Duration
Lecture 7 The Worker and Client Services 00:03:43 Duration
Lecture 8 Nginx Path Routing 00:09:41 Duration
Lecture 9 Routing with Nginx 00:11:12 Duration
Lecture 10 Building a Custom Nginx Image 00:05:38 Duration
Lecture 11 Starting Up Docker Compose 00:01:50 Duration
Lecture 12 Troubleshooting Startup Bugs 00:03:22 Duration
Lecture 13 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 Production Dockerfiles 00:06:05 Duration
Lecture 3 Multiple Nginx Instances 00:05:23 Duration
Lecture 4 Altering Nginx's Listen Port 00:04:53 Duration
Lecture 5 Cleaning Up Tests 00:01:11 Duration
Lecture 6 Github and Travis CI Setup 00:04:08 Duration
Lecture 7 Travis Configuration Setup 00:08:46 Duration
Lecture 8 Pushing Images to Docker Hub 00:07:35 Duration
Lecture 9 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 Creating the EB Environment 00:03:30 Duration
Lecture 7 Managed Data Service Providers 00:10:44 Duration
Lecture 8 Overview of AWS VPC's and Security Groups 00:09:21 Duration
Lecture 9 RDS Database Creation 00:06:32 Duration
Lecture 10 ElastiCache Redis Creation 00:04:11 Duration
Lecture 11 Creating a Custom Security Group 00:04:18 Duration
Lecture 12 Applying Security Groups to Resources 00:04:59 Duration
Lecture 13 Setting Environment Variables 00:07:55 Duration
Lecture 14 IAM Keys for Deployment 00:05:12 Duration
Lecture 15 Travis Deploy Script 00:03:21 Duration
Lecture 16 Container Memory Allocations 00:04:11 Duration
Lecture 17 A Quick App Change 00:02:57 Duration
Lecture 18 Cleaning Up AWS Resources 00:05:06 Duration

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 Minikube Setup on MacOS 00:05:36 Duration
Lecture 4 Mapping Existing Knowledge 00:07:37 Duration
Lecture 5 Adding Configuration Files 00:06:52 Duration
Lecture 6 Object Types and API Versions 00:06:55 Duration
Lecture 7 Running Containers in Pods 00:09:19 Duration
Lecture 8 Service Config Files in Depth 00:13:38 Duration
Lecture 9 Connecting to Running Containers 00:10:25 Duration
Lecture 10 The Entire Deployment Flow 00:13:03 Duration
Lecture 11 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 Deployment Configuration Files 00:03:18 Duration
Lecture 6 Walking Through the Deployment Config 00:04:23 Duration
Lecture 7 Applying a Deployment 00:06:22 Duration
Lecture 8 Why Use Services 00:05:19 Duration
Lecture 9 Scaling and Changing Deployments 00:06:32 Duration
Lecture 10 Updating Deployment Images 00:03:57 Duration
Lecture 11 Rebuilding the Client Image 00:03:00 Duration
Lecture 12 Triggering Deployment Updates 00:12:25 Duration
Lecture 13 Imperatively Updating a Deployment's Image 00:07:25 Duration
Lecture 14 Multiple Docker Installations 00:05:38 Duration
Lecture 15 Reconfiguring Docker CLI 00:05:58 Duration
Lecture 16 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 A Quick Checkpoint 00:04:36 Duration
Lecture 3 Recreating the Deployment 00:05:30 Duration
Lecture 4 NodePort vs ClusterIP Services 00:03:42 Duration
Lecture 5 The ClusterIP Config 00:03:52 Duration
Lecture 6 Applying Multiple Files with Kubectl 00:04:18 Duration
Lecture 7 Express API Deployment Config 00:06:03 Duration
Lecture 8 Cluster IP for the Express API 00:03:08 Duration
Lecture 9 Combining Config Into Single Files 00:05:59 Duration
Lecture 10 The Worker Deployment 00:04:37 Duration
Lecture 11 Reapplying a Batch of Config Files 00:04:52 Duration
Lecture 12 ]Creating and Applying Redis Config 00:07:26 Duration
Lecture 13 Last Set of Boring Config! 00:06:14 Duration
Lecture 14 The Need for Volumes with Databases 00:07:18 Duration
Lecture 15 Kubernetes Volumes 00:05:17 Duration
Lecture 16 Volumes vs Persistent Volumes 00:03:00 Duration
Lecture 17 Persistent Volumes vs Persistent Volume Claim 00:09:22 Duration
Lecture 18 Claim Config Files 00:02:57 Duration
Lecture 19 Persistent Volume Access Modes 00:03:31 Duration
Lecture 20 Where Does Kubernetes Allocate Persistent Vol 00:07:42 Duration
Lecture 21 Designating a PVC in a Pod Template 00:06:09 Duration
Lecture 22 Applying a PVC 00:02:22 Duration
Lecture 23 Defining Environment Variables 00:04:09 Duration
Lecture 24 Adding Environment Variables to Config 00:05:45 Duration
Lecture 25 Creating an Encoded Secret 00:09:25 Duration
Lecture 26 Passing Secrets as Environment Variables 00:05:53 Duration
Lecture 27 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 Setting up Ingress Locally with Minikube 00:06:21 Duration
Lecture 7 Creating the Ingress Configuratio 00:07:01 Duration
Lecture 8 Testing Ingress Locally 00:02:50 Duration
Lecture 9 The Minikube Dashboard 00:03:28 Duration

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 Creating a Google Cloud Project 00:01:59 Duration
Lecture 6 Linking a Billing Account 00:02:11 Duration
Lecture 7 Kubernetes Engine Init 00:01:47 Duration
Lecture 8 Creating a Cluster with Google Cloud 00:04:09 Duration
Lecture 9 Docker and Kubernetes- The Complete Guide 00:04:47 Duration
Lecture 10 Kubernetes Dashboard on Google Cloud 00:04:34 Duration
Lecture 11 Travis Deployment Overview 00:05:05 Duration
Lecture 12 Installing the Google Cloud SDK 00:05:45 Duration
Lecture 13 Generating a Service Account 00:05:29 Duration
Lecture 14 Running Travis CLI in a Container 00:09:18 Duration
Lecture 15 Encrypting a Service Account File 00:07:55 Duration
Lecture 16 More Google Cloud CLI Config 00:04:40 Duration
Lecture 17 Running Tests with Travis 00:06:18 Duration
Lecture 18 Custom Deployment Providers
Lecture 19 Unique Deployment Images 00:08:34 Duration
Lecture 20 Unique Tags for Built Images 00:07:48 Duration
Lecture 21 Updating the Deployment Script 00:07:51 Duration
Lecture 22 Configuring the GCloud CLI on Cloud Console 00:05:34 Duration
Lecture 23 Creating a Secret on Google Cloud 00:02:25 Duration
Lecture 24 Helm Setup 00:08:15 Duration
Lecture 25 Kubernetes Security with RBAC 00:08:21 Duration
Lecture 26 Assigning Tiller a Service Account 00:05:08 Duration
Lecture 27 Ingress-Nginx with Helm 00:01:57 Duration
Lecture 28 The Result of Ingress-Nginx
Lecture 29 Finally - Deployment! 00:03:31 Duration
Lecture 30 Did I Really Type That 00:00:46 Duration
Lecture 31 Verifying Deployment 00:04:24 Duration
Lecture 32 A Workflow for Changing in Prod 00:04:30 Duration
Lecture 33 Merging a PR for Deployment 00:01:01 Duration
Lecture 34 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 Cert Manager Install 00:01:57 Duration
Lecture 5 How to Wire Up Cert Manager 00:05:58 Duration
Lecture 6 Issuer Config File 00:05:07 Duration
Lecture 7 Certificate Config File 00:05:18 Duration
Lecture 8 Deploying Changes 00:03:15 Duration
Lecture 9 Verifying the Certificate 00:03:55 Duration
Lecture 10 Ingress Config for HTTPS 00:06:50 Duration
Lecture 11 It Worked! 00:02:52 Duration

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