Skip to content

Containers From Scratch - Beginner to OSS Contributor

From "I have heard of Docker" to "I can write a Dockerfile, debug a running container, read someone else's compose stack, and submit a fix to a containerized OSS project."

Who this is for

  • You're comfortable enough in a terminal to follow instructions.
  • You've never used Docker, OR you've copy-pasted docker run and docker build without really understanding what they do.

Soft prerequisite

If terminals still feel alien, do Linux From Scratch first - at least pages 01-08. This path assumes you can cd, run commands, read errors, and edit a file.

What you'll need

  • Docker Desktop (macOS / Windows / Linux), OR Podman, OR Docker Engine on Linux.
  • A text editor.
  • A terminal.
  • About 5 hours/week. Path is sized for 3-4 months.

Why containers

  • You'll ship software in containers. Every modern cloud, every modern infrastructure team, every modern deployment pipeline.
  • They abstract over OS differences. "Works on my machine" mostly stops being a problem.
  • OSS adoption is massive. Almost every popular OSS project today ships a Docker image. Knowing the container side lets you contribute to many of them.

How this path works

Each page does one thing: explains it, shows it, walks through it, gives an exercise, ends with a Q&A.

The pages

# Title What you'll know after
00 Introduction What we're doing and why
01 Setup Docker installed; first container run
02 Running containers docker run, common flags
03 Images and tags What an image is; pulling from registries
04 Container lifecycle ps, stop, rm, exec, logs
05 Building images with Dockerfile FROM, COPY, RUN, CMD
06 Volumes and bind mounts Persistent data
07 Networks and ports Container-to-container, container-to-world
08 Docker Compose Multi-container apps in one file
09 Slimming images Multi-stage, distroless, .dockerignore
10 Security basics Non-root, read-only, capabilities
11 Image registries Docker Hub, GHCR, push and pull
12 Reading other people's Dockerfiles The bridge
13 Picking a project What "manageable" looks like
14 Anatomy of a containerized OSS project Case study
15 Your first contribution Workflow + PR

Start with Introduction.

Print this path

Want to read offline or archive? Open the printable version — every section of this path concatenated into one page, styled for paper. Use your browser's Print → Save as PDF.