Catalog / docker

Docker

Learn Docker fundamentals

Install

$ learnctl install docker@0.3.2

Current version 0.3.2, published 2026-07-26.

At a glance

Stages
9
Tasks
33
Interviews
22
Concepts
11
Time
4 h 40 m
Size
126.7 KB

Difficulty distribution

  1. d1 1
  2. d2 13
  3. d3 17
  4. d4 2
  5. d5 0

Table of contents

  1. 1. Docker Fundamentals

    3 tasks · 2 interviews· 15 min
    • Explain the difference between containers and Virtual Machines.
    • Describe how containers share the host kernel.
    • Run a simple container in the foreground and understand basic container isolation.

    docker-fundamentals

  2. 2. Container Lifecycle

    3 tasks · 2 interviews· 30 min
    • Start, stop, and restart containers.
    • Run containers in detached mode.
    • View container logs and inspect container state.
    • Clean up stopped containers and unused images.

    container-lifecycle

  3. 3. Port Publishing

    3 tasks · 2 interviews· 30 min
    • Explain why container ports are isolated by default.
    • Publish container ports to specific host ports using the -p flag.
    • Verify host port mappings and access services running inside containers.

    port-publish

  4. 4. Bind Mounts for Development

    3 tasks · 2 interviews· 30 min
    • Understand the difference between container layers and host storage.
    • Mount host directories into containers using bind mounts.
    • Leverage bind mounts for real-time local code hot reloading.

    bind-mounts

  5. 5. Creating Custom Images

    9 tasks · 6 interviews· 1 h 10 m
    • Explain how images are built from layered instructions.
    • Write a Dockerfile using FROM, WORKDIR, COPY, RUN, and CMD.
    • Build and tag a custom Docker image using docker build.

    dockerfile-instructionsimage-buildimage-layers

  6. 6. Optimizing Dockerfiles

    3 tasks · 2 interviews· 30 min
    • Explain how Docker's build cache works and how to structure layers to maximize cache hits.
    • Use .dockerignore to exclude unnecessary files from the build context.
    • Implement multi-stage builds to minimize production image size.

    dockerfile-optimization

  7. 7. Data Persistence with Volumes

    3 tasks · 2 interviews· 20 min
    • Explain the difference between bind mounts and named volumes.
    • Create, inspect, and manage named Docker volumes.
    • Persist container data across container recreations using named volumes.

    data-volumes

  8. 8. Container Networking

    3 tasks · 2 interviews· 25 min
    • Understand default vs user-defined bridge networks.
    • Create custom bridge networks.
    • Connect multiple containers to a network and resolve them using DNS service names.

    container-networking

  9. 9. Multi-Container Orchestration with Compose

    3 tasks · 2 interviews· 30 min
    • Define a multi-container stack in a compose.yaml file.
    • Configure service dependencies, custom networks, and named volumes in Compose.
    • Manage the entire stack lifecycle using docker compose up and down.

    docker-compose

All versions

VersionPublishedSizesha256
0.3.2 latest 2026-07-26 126.7 KB 87b64713211c
0.3.1 2026-07-26 128.8 KB 7b06c352ff36
0.3.0 2026-07-25 125.3 KB 530eafe3c8fd
0.2.1 2026-07-11 80.1 KB 430f636f8eff
0.2.0 2026-07-09 79.2 KB 7e5f1afd5323
0.1.0 2026-06-20 67.7 KB 72f8e30c0ee8

Validation

Last validated 2026-07-26 on Windows-11 · 33/33 passed.