Section 1 : Getting Started

Lecture 1 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM Pdf
Lecture 2 What Is Docker_ 4:42
Lecture 3 Why Docker & Containers_ 5:59
Lecture 4 About Proctor Testing Pdf
Lecture 5 Virtual Machines vs Docker Containers 8:55
Lecture 6 Docker Setup - Overview 4:31
Lecture 7 About Certification Pdf
Lecture 8 Docker Setup - Windows
Lecture 9 Docker Setup - Docker Toolbox for Older Systems 6:51
Lecture 10 Docker Playground Text
Lecture 11 An Overview of the Docker Tools 3:4
Lecture 12 Installing & Configuring an IDE 2:6
Lecture 13 Getting Our Hands Dirty_ 9:22
Lecture 14 Course Outline 4:14
Lecture 15 How To Get The Most Out Of This Course 3:24
Lecture 16 Course Resources Text

Section 2 : Docker Images & Containers_ The Core Building Blocks

Lecture 17 Module Introduction 1:16
Lecture 18 Images & Containers_ What and Why_ 2:29
Lecture 19 Using & Running External (Pre-Built) Images 8:28
Lecture 20 Our Goal_ A NodeJS App 6:40
Lecture 21 Building our own Image with a Dockerfile 11:13
Lecture 22 Running a Container based on our own Image 7:58
Lecture 23 EXPOSE & A Little Utility Functionality Text
Lecture 24 Images are Read-Only_ 5:51
Lecture 25 Understanding Image Layers 8:20
Lecture 26 A First Summary 3:18
Lecture 27 Managing Images & Containers
Lecture 28 Stopping & Restarting Containers 4:31
Lecture 29 Understanding Attached & Detached Containers 7:50
Lecture 30 Attaching to an already-running Container Text
Lecture 31 Entering Interactive Mode 10:44
Lecture 32 Deleting Images & Containers 6:26
Lecture 33 Removing Stopped Containers Automatically 3:18
Lecture 34 A Look Behind the Scenes_ Inspecting Images 4:0
Lecture 35 Copying Files Into & From A Container 4:57
Lecture 36 Naming & Tagging Containers and Images 9:27
Lecture 37 Sharing Images - Overview 6:37
Lecture 38 Pushing Images to DockerHub 10:44
Lecture 39 Pulling & Using Shared Images 4:50
Lecture 40 Module Summary 5:0
Lecture 41 Module Resources Text

Section 3 : Managing Data & Working with Volumes

Lecture 42 Module Introduction 1:27
Lecture 43 Understanding Data Categories _ Different Kinds of Data 7:19
Lecture 44 Analyzing a Real App 3:2
Lecture 45 Building & Understanding the Demo App 8:36
Lecture 46 Understanding the Problem 5:25
Lecture 47 Introducing Volumes 2:57
Lecture 48 A First, Unsuccessful Try 7:45
Lecture 49 Named Volumes To The Rescue_ 8:35
Lecture 50 Removing Anonymous Volumes Text
Lecture 51 Getting Started With Bind Mounts (Code Sharing) 10:41
Lecture 52 Bind Mounts - Shortcuts Text
Lecture 53 Combining & Merging Different Volumes 7:52
Lecture 54 A NodeJS-specific Adjustment_ Using Nodemon in a Container 7:16
Lecture 55 Volumes & Bind Mounts_ Summary 5:54
Lecture 56 A Look at Read-Only Volumes 5:40
Lecture 57 Managing Docker Volumes 7:39
Lecture 58 Using _COPY_ vs Bind Mounts 3:26
Lecture 59 Don't COPY Everything_ Using _dockerignore_ Files 2:31
Lecture 60 Adding more to the Text
Lecture 61 Working with Environment Variables & _ 8:47
Lecture 62 Environment Variables & Security Text
Lecture 63 Using Build Arguments (ARG) 5:9
Lecture 64 Module Summary 5:15
Lecture 65 Module Resources Text

Section 4 : Networking_ (Cross-)Container Communication

Lecture 66 Module Introduction 1:16
Lecture 67 Case 1_ Container to WWW Communication 3:49
Lecture 68 Case 2_ Container to Local Host Machine Communication 2:13
Lecture 69 Case 3_ Container to Container Communication 2:40
Lecture 70 Analyzing the Demo App 7:49
Lecture 71 Creating a Container & Communicating to the Web (WWW) 6:45
Lecture 72 Making Container to Host Communication Work 4:37
Lecture 73 Container to Container Communication_ A Basic Solution 7:6
Lecture 74 Introducing Docker Networks_ Elegant Container to Container Communication 10:0
Lecture 75 How Docker Resolves IP Addresses 2:22
Lecture 76 Docker Network Drivers Text
Lecture 77 Module Summary 1:26
Lecture 78 Module Resources Text

Section 5 : Building Multi-Container Applications with Docker

Lecture 79 Module Introduction 2:8
Lecture 80 Our Target App & Setup 10:48
Lecture 81 Dockerizing the MongoDB Service 4:26
Lecture 82 Dockerizing the Node App 7:30
Lecture 83 Moving the React SPA into a Container 8:26
Lecture 84 Adding Docker Networks for Efficient Cross-Container Communication 11:50
Lecture 85 Adding Data Persistence to MongoDB with Volumes 8:16
Lecture 86 Volumes, Bind Mounts & Polishing for the NodeJS Container 15:2
Lecture 87 Live Source Code Updates for the React Container (with Bind Mounts) 6:50
Lecture 88 Module Summary 4:43
Lecture 89 Module Resources Text

Section 6 : Docker Compose_ Elegant Multi-Container Orchestration

Lecture 90 Module Introduction 3:8
Lecture 91 Docker-Compose_ What & Why_ 4:33
Lecture 92 Creating a Compose File 6:16
Lecture 93 Diving into the Compose File Configuration 11:20
Lecture 94 Installing Docker Compose on Linux Text
Lecture 95 Docker Compose Up & Down 3:46
Lecture 96 Working with Multiple Containers 14:51
Lecture 97 Adding Another Container 5:54
Lecture 98 Building Images & Understanding Container Names 5:25
Lecture 99 Module Summary 2:29
Lecture 100 Module Resources Text

Section 7 : Working with _Utility Containers_ & Executing Commands In Containers

Lecture 101 Module Introduction & What are _Utility Containers__ 2:39
Lecture 102 Utility Containers_ Why would you use them_ 3:2
Lecture 103 Different Ways of Running Commands in Containers 5:56
Lecture 104 Building a First Utility Container 4:51
Lecture 105 Utilizing ENTRYPOINT 5:27
Lecture 106 Using Docker Compose 6:9
Lecture 107 About Proctor Testing Pdf
Lecture 108 Module Summary 1:31
Lecture 109 Module Resources Text

Section 8 : A More Complex Setup_ A Laravel & PHP Dockerized Project

Lecture 110 Module Introduction 2:29
Lecture 111 The Target Setup 7:13
Lecture 112 Adding a Nginx (Web Server) Container 8:8
Lecture 113 Adding a PHP Container 10:43
Lecture 114 Adding a MySQL Container 3:21
Lecture 115 Adding a Composer Utility Container 3:59
Lecture 116 Creating a Laravel App via the Composer Utility Container 3:35
Lecture 117 Fixing Errors With The Next Lecture Text
Lecture 118 Launching Only Some Docker Compose Services 11:54
Lecture 119 Adding More Utility Containers 6:24
Lecture 120 Docker Compose with and without Dockerfiles 4:7
Lecture 121 Bind Mounts and COPY_ When To Use What 14:20
Lecture 122 Module Resources Text

Section 9 : Deploying Docker Containers

Lecture 123 Module Introduction 3:40
Lecture 124 From Development To Production 7:12
Lecture 125 Deployment Process & Providers 6:25
Lecture 126 Getting Started With An Example 4:1
Lecture 127 Bind Mounts In Production 5:4
Lecture 128 Introducing AWS & EC2 2:36
Lecture 129 Connecting to an EC2 Instance
Lecture 130 Installing Docker on a Virtual Machine 1:56
Lecture 131 Installing Docker on Linux in General Text
Lecture 132 Pushing our local Image to the Cloud 5:34
Lecture 133 Running & Publishing the App (on EC2) 10:20
Lecture 134 Managing & Updating the Container _ Image 5:31
Lecture 135 Disadvantages of our Current Approach 4:43
Lecture 136 From Manual Deployment to Managed Services 5:46
Lecture 137 Important_ AWS, Pricing and ECS Text
Lecture 138 Deploying with AWS ECS_ A Managed Docker Container Service 13:59
Lecture 139 More on AWS 4:12
Lecture 140 Updating Managed Containers 3:28
Lecture 141 Preparing a Multi-Container App 10:56
Lecture 142 Configuring the NodeJS Backend Container 10:31
Lecture 143 Deploying a Second Container & A Load Balancer 9:12
Lecture 144 Using a Load Balancer for a Stable Domain 5:15
Lecture 145 Using EFS Volumes with ECS 17:53
Lecture 146 Our Current Architecture 1:55
Lecture 147 Databases & Containers_ An Important Consideration 5:16
Lecture 148 Moving to MongoDB Atlas 13:45
Lecture 149 Using MongoDB Atlas in Production 7:33
Lecture 150 Our Updated & Target Architecture 2:25
Lecture 151 Understanding a Common Problem 5:34
Lecture 152 Creating a _build-only_ Container 4:47
Lecture 153 Introducing Multi-Stage Builds 7:52
Lecture 154 Building a Multi-Stage Image 6:8
Lecture 155 Deploying a Standalone Frontend App 15:53
Lecture 156 Development vs Production_ Differences 3:50
Lecture 157 Understanding Multi-Stage Build Targets 2:32
Lecture 158 Beyond AWS 2:2
Lecture 159 Module Summary 6:43
Lecture 160 Module Resources Text

Section 10 : Docker & Containers - A Summary

Lecture 161 Module Introduction 0:57
Lecture 162 Images & Containers 3:35
Lecture 163 Key Commands 2:14
Lecture 164 Data, Volumes & Networking 3:13
Lecture 165 Docker Compose 1:11
Lecture 166 Local vs Remote 2:38
Lecture 167 Deployment 4:27
Lecture 168 Module Resources Text

Section 11 : Getting Started with Kubernetes

Lecture 169 Module Introduction 2:16
Lecture 170 More Problems with Manual Deployment 7:41
Lecture 171 Why Kubernetes_ 5:12
Lecture 172 What Is Kubernetes Exactly_ 6:54
Lecture 173 Kubernetes_ Architecture & Core Concepts 7:37
Lecture 174 Kubernetes will NOT manage your Infrastructure_ 3:49
Lecture 175 A Closer Look at the Worker Nodes 4:21
Lecture 176 A Closer Look at the Master Node 2:48
Lecture 177 Important Terms & Concepts 3:8
Lecture 178 Module Resources Text

Section 12 : Kubernetes in Action - Diving into the Core Concepts

Lecture 179 Module Introduction 1:25
Lecture 180 Kubernetes does NOT manage your Infrastructure 8:41
Lecture 181 Kubernetes_ Required Setup & Installation Steps 6:26
Lecture 182 macOS Setup 7:21
Lecture 183 Windows Setup 0:0
Lecture 184 Understanding Kubernetes Objects (Resources) 9:6
Lecture 185 The _Deployment_ Object (Resource) 4:3
Lecture 186 A First Deployment - Using the Imperative Approach 12:53
Lecture 187 kubectl_ Behind The Scenes 2:14
Lecture 188 The _Service_ Object (Resource) 2:49
Lecture 189 Exposing a Deployment with a Service 6:10
Lecture 190 Restarting Containers 2:38
Lecture 191 Scaling in Action 2:42
Lecture 192 Updating Deployments 5:53
Lecture 193 Deployment Rollbacks & History 5:40
Lecture 194 The Imperative vs The Declarative Approach 5:40
Lecture 195 Creating a Deployment Configuration File (Declarative Approach) 6:24
Lecture 196 Adding Pod and Container Specs 8:48
Lecture 197 Working with Labels & Selectors 4:43
Lecture 198 Creating a Service Declaratively 9:28
Lecture 199 Updating & Deleting Resources 3:41
Lecture 200 Multiple vs Single Config Files 3:43
Lecture 201 More on Labels & Selectors 7:49
Lecture 202 Liveness Probes 4:11
Lecture 203 A Closer Look at the Configuration Options 5:26
Lecture 204 Summary 4:26
Lecture 205 Module Resources Text

Section 13 : Managing Data & Volumes with Kubernetes

Lecture 206 Module Introduction 2:22
Lecture 207 Starting Project & What We Know Already 4:41
Lecture 208 Kubernetes & Volumes - More Than Docker Volumes 3:35
Lecture 209 Kubernetes Volumes_ Theory & Docker Comparison 6:4
Lecture 210 Creating a New Deployment & Service 9:32
Lecture 211 Getting Started with Kubernetes Volumes 3:29
Lecture 212 A First Volume_ The _emptyDir_ Type 10:4
Lecture 213 A Second Volume_ The _hostPath_ Type 7:34
Lecture 214 Understanding the _CSI_ Volume Type 4:7
Lecture 215 From Volumes to Persistent Volumes 9:8
Lecture 216 Defining a Persistent Volume 9:4
Lecture 217 Creating a Persistent Volume Claim 8:10
Lecture 218 Using a Claim in a Pod 6:38
Lecture 219 Volumes vs Persistent Volumes 6:35
Lecture 220 Using Environment Variables 4:48
Lecture 221 Environment Variables & ConfigMaps 6:8
Lecture 222 Module Summary 2:59
Lecture 223 Module Resources Text

Section 14 : Kubernetes Networking

Lecture 224 Module Introduction 1:21
Lecture 225 Starting Project & Our Goal 6:9
Lecture 226 Creating a First Deployment 6:57
Lecture 227 Another Look at Services 9:38
Lecture 228 Multiple Containers in One Pod 8:32
Lecture 229 Pod-internal Communication 4:29
Lecture 230 Creating Multiple Deployments 5:54
Lecture 231 Pod-to-Pod Communication with IP Addresses & Environment Variables 7:27
Lecture 232 Using DNS for Pod-to-Pod Communication 5:21
Lecture 233 Which Approach Is Best_ And a Challenge_ 3:9
Lecture 234 Challenge Solution 10:6
Lecture 235 Adding a Containerized Frontend 14:7
Lecture 236 Deploying the Frontend with Kubernetes 7:52
Lecture 237 Using a Reverse Proxy for the Frontend 13:57
Lecture 238 Module Summary 1:52
Lecture 239 Module Resources Text

Section 15 : Kubernetes - Deployment (AWS EKS)

Lecture 240 Module Introduction 1:49
Lecture 241 Deployment Options & Steps 5:42
Lecture 242 AWS EKS vs AWS ECS 2:49
Lecture 243 Preparing the Starting Project
Lecture 244 A Note on AWS EKS Pricing Text
Lecture 245 Diving Into AWS 3:5
Lecture 246 Creating & Configuring the Kubernetes Cluster with EKS 15:44
Lecture 247 Adding Worker Nodes 8:48
Lecture 248 Applying Our Kubernetes Config 7:56
Lecture 249 Getting Started with Volumes 4:59
Lecture 250 Adding EFS as a Volume (with the CSI Volume Type) 4:33
Lecture 251 Creating a Persistent Volume for EFS 8:23
Lecture 252 Using the EFS Volume 8:8
Lecture 253 A Challenge_
Lecture 254 Challenge Solution 14:47
Lecture 255 Module Resources Text

Section 16 : Roundup & Next Steps

Lecture 256 You Learned A Lot_ 3:23
Lecture 257 Related Topics You Could Explore 7:8
Lecture 258 Next Steps_ 3:6