Honest Take — Before You Begin
Docker is deceptively simple to start. You write a Dockerfile, run docker build, and your app works in a container. Victory. Then you notice the image is 1.2 GB, the build takes 1…
Containers & Docker covers: Head First Git. Understand Linux containers from cgroups and namespaces to production-ready Docker images. Write Dockerfiles, compose multi-service applications, optimize image size and build time.
Docker is now the default deployment unit for Rails. Rails 8 generates a Dockerfile. Kamal deploys Docker containers. Understanding Docker deeply means understanding your deployment.
| Rails Task | Docker Skill |
|-----------|-------------|
| rails assets:precompile | Multi-stage build (build stage compiles, runtime stage serves) |
| Database migrations | Init containers or entrypoint scripts |
| Environment variables | ENV vs ARG, .env files, secrets |
| Puma worker memory | docker stats, cgroup memory limits |
| Development setup | docker-compose.yml replaces README setup instructions |
| Alpine vs Debian | Alpine = smaller but musl libc issues; Debian = larger but fewer surprises |
This course unlocks once you've finished its prerequisite. Open prerequisite →
Docker is deceptively simple to start. You write a Dockerfile, run docker build, and your app works in a container. Victory. Then you notice the image is 1.2 GB, the build takes 1…
Here's an uncomfortable audit: could you, right now, split the last five commits on your branch into two clean pull requests? Find the exact commit that broke the payment flow som…
Work through each item before the checkpoint.
Write a production-ready multi-stage Dockerfile for a Rails app: asset precompilation, a non-root user, a health check, and correct signal handling for Puma — all in an image unde…
4 lessons. Read in order; spiral back when you need to. By the end you'll have used the core ideas twice — once on the abstract, once on something you'll meet at work next week.