Docker & Docker Compose: Containerization from Scratch

Docker & Docker Compose: Containerization from Scratch

Course Curriculum

15 modules designed to master the subject.

Module 6: Advanced Docker Compose

Scaling, health checks, and service dependencies.

Module 6 Lesson 1: Multi-Stage Builds

Shrink your images by 90%. Learn the multi-stage build pattern to separate your 'Build Environment' (compilers, tools) from your 'Runtime Environment' (app only).

Module 6 Lesson 1: Service Dependencies and Startup Order

Master the timing of your stack. Learn how 'depends_on' works and how to use 'wait-for-it' scripts to ensure your app only starts after the database is truly ready.

Module 6 Lesson 2: Optimized Layer Order

Master the build cache. Learn how to structure your Dockerfile instructions to minimize 'Cache Invalidation' and keep your build times under 5 seconds.

Module 6 Lesson 2: Scaling Services in Compose

More power. Learn how to use the --scale flag to run multiple instances of a service and how Docker Compose manages the load balancing internally.

Module 6 Lesson 3: Mastering .dockerignore

Protect your secrets and speed up your builds. Learn how to use .dockerignore to keep sensitive and unnecessary files out of your Docker images.

Module 6 Lesson 3: Healthchecks and Restart Policies

Build a self-healing stack. Learn how to configure advanced healthchecks and restart policies directly in your Compose file to automate recovery from crashes.

Module 6 Lesson 4: Extension Fields and YAML Anchors

Dry out your YAML. Learn how to use anchors, aliases, and extension fields to avoid repeating the same configuration across multiple services.

Module 6 Lesson 5: ENTRYPOINT vs. CMD

Demystify the startup instructions. Learn the subtle but important difference between setting a default command and creating an 'Executable' container.

Module 6 Lesson 5: Multi-File Configurations

Master the environment split. Learn how to use multiple Compose files to handle development, staging, and production differences without repeating code.

Module 9: Podman and Rootless Containers

Alternatives to Docker and running without root privileges.

Module 9 Lesson 1: Volume Drivers and Types

Master the data layer of Docker. Explore the different volume drivers and types, and learn how to choose the right storage strategy for your application's data.

Module 9 Lesson 1: Introduction to Podman

Meet the daemonless alternative. Explore Podman, the open-source container engine designed for security, rootless execution, and Kubernetes compatibility.

Module 9 Lesson 2: Named vs. Anonymous Volumes

Master the naming conventions of storage. Learn when to use descriptive named volumes and when to let Docker manage anonymous storage for temporary tasks.

Module 9 Lesson 2: Running Rootless Containers

Master the security of the future. Learn how to run containers as a standard user without sudo or root privileges, and understand the trade-offs of rootless execution.

Module 9 Lesson 3: Inspecting and Managing Volumes

Master the administrative side of storage. Learn how to locate your data on the host machine, audit usage, and clean up abandoned storage volumes.

Module 9 Lesson 3: Managing Pods with Podman

Think like Kubernetes. Learn how to use Podman to group related containers into 'Pods', allowing them to share resources and network namespaces like a production cluster.

Module 9 Lesson 4: Volume Plugins and Cloud Storage

Data without borders. Explore how volume plugins allow your containers to store data directly on AWS S3, Azure Files, or Google Cloud Storage for maximum portability.

Module 9 Lesson 5: Backup and Restore Strategies

Protect your data against disasters. Learn the standard patterns for backing up Docker volumes and how to perform a full system recovery from scratch.

Course Overview

Format

Self-paced reading

Duration

Approx 6-8 hours

Found this course useful? Support the creator to help keep it free for everyone.

Support the Creator