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
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 |