[Docker] Class-Lab 7.1: Understanding Docker Layered Architecture
[Docker] Class-Lab 7.2: Understanding Build Context in Docker
[Docker] Class-Lab 7.3: Working with .dockerignore to Control Build Context
[Docker] Class-Lab 7.4: Passing Environment Variables to Docker Containers
[Docker] Class-Lab 7.5: Overriding Environment Variables at Runtime
[Docker] Class-Lab 7.6: Using .env Files with Docker
[Docker] Class-Lab 7.7: Understanding CMD vs ENTRYPOINT
[Docker] Class-Lab 7.8: Introduction to Multi-Stage Builds
[Docker] Class-Lab 7.9: Implementing Multi-Stage Builds with Distroless
[Docker] Class-Lab 7.10: Integrating TypeScript into a Multi-Stage Docker Build
[Docker] Class-Lab 7.11: Updating the Multi-Stage Build for TypeScript
[Docker] 7.12: Optimizing Image Size with Smaller Base Images
[Docker] 7.13: Optimizing Docker Builds with Correct Instruction Order
[Docker] 7.14: Installing Only Production Dependencies
Lab: Containerize a Java App with a Distroless Image
Lab: Containerize an Express + TypeScript API with a Multi-Stage Distroless Build
Lab: Containerize a React + TypeScript App with a Distroless Multi-Stage Build