FahamLah

Ship It ยท Part 1 ยท Dapur

Docker map

Your home kitchen. Pack a dish so it tastes the same anywhere.

Every world is open. D0 to D4 build on each other. The placement test lets you skip what you know.

Tip: best after Git & GitHub, Worlds 0โ€“4. Not a lock. Start any time.

World D0

Start Here

See why containers exist. Set up your kitchen.

10 lessons ยท 0 of 10 done

10 lessons
  1. It works on my machine3 min
  2. Containers vs virtual machines4 min
  3. Docker Engine, Desktop or Podman?3 min
  4. Install Docker5 min
  5. Say hello: docker version3 min
  6. Linux crash course5 min
  7. Networking crash course5 min
  8. YAML part 1: keys and lists4 min
  9. YAML part 2: nesting and traps4 min
  10. Placement test5 min
  11. Boss challenge: Set up your kitchen

World D1

First Containers

Run, inspect and clean up containers with confidence.

11 lessons ยท 0 of 11 done

11 lessons
  1. Your first docker run4 min
  2. Image vs container3 min
  3. Handy run flags: -d, --name, --rm4 min
  4. Container states: ps -a and inspect4 min
  5. Follow the logs3 min
  6. Step inside with exec4 min
  7. The order hatch: port mapping5 min
  8. Settings with -e3 min
  9. Tags and the latest trap4 min
  10. Docker Hub and trusted images3 min
  11. Clean up safely4 min
  12. Boss challenge: Night shift

World D2

Recipes

Write a clean, small, cache-friendly Dockerfile.

13 lessons ยท 0 of 13 done

13 lessons
  1. Your first recipe: FROM, COPY, CMD5 min
  2. WORKDIR, RUN, ENV and EXPOSE4 min
  3. CMD vs ENTRYPOINT4 min
  4. ARG vs ENV3 min
  5. Build context and .dockerignore4 min
  6. Kek lapis: layers and cache5 min
  7. Tags with SemVer, Git SHA and labels4 min
  8. Multi-stage builds5 min
  9. Choose a base image4 min
  10. Run as a non-root USER4 min
  11. HEALTHCHECK: is it alive?3 min
  12. BuildKit cache mounts and build secrets5 min
  13. amd64 or arm64? buildx4 min
  14. Boss challenge: Shrink ray

World D3

Lockers & Phone Lines

Keep data safe and let containers talk.

9 lessons ยท 0 of 9 done

9 lessons
  1. Where did my data go?3 min
  2. Lockers: named volumes4 min
  3. Bind mounts and tmpfs4 min
  4. Back up and restore a volume4 min
  5. Phone lines: your own network4 min
  6. Call containers by name3 min
  7. Publish, expose, host and none4 min
  8. Settings in env files3 min
  9. Never bake in secrets4 min
  10. Boss challenge: Data that survives

World D4

Set Meals

Capstone mission 1 comes after this world

Start a whole stack with one command.

10 lessons ยท 0 of 11 done

10 lessons
  1. Why a set meal?3 min
  2. Inside compose.yaml5 min
  3. Run the stack: up and down4 min
  4. Wait until healthy: depends_on4 min
  5. .env and variables4 min
  6. Optional extras: profiles3 min
  7. Dev vs prod: override files4 min
  8. Live reload with compose watch4 min
  9. Scale a service3 min
  10. Compose v2 vs v53 min
  11. Capstone mission 1: Pack itMission 15 min
  12. Boss challenge: One command, whole shop

World D5

Ship & Shield

Publish images safely.

9 lessons ยท 0 of 9 done

9 lessons
  1. The shop freezer: registries4 min
  2. Log in with a token3 min
  3. No latest in production3 min
  4. Pin by digest: @sha2564 min
  5. Pull limits and licence rules3 min
  6. Scan for holes: Scout and Trivy4 min
  7. SBOM, provenance and signing4 min
  8. Least privilege containers4 min
  9. docker history tells secrets3 min
  10. Boss challenge: Publish safely

World D6

Under the Hood

Explain what a container really is.

7 lessons ยท 0 of 7 done

7 lessons
  1. A container is just a process4 min
  2. Namespaces: what it can see4 min
  3. cgroups: what it can use4 min
  4. The overlay filesystem4 min
  5. OCI, containerd and runc4 min
  6. Rootless mode and Podman3 min
  7. Why Mac and Windows need a Linux VM3 min
  8. Boss challenge: X-ray