Dockerfile Layer Caching: Why Every Build Reinstalls Everything

Your Dockerfile copies the lockfile before the source, and CI still reinstalls every dependency on every commit. That gap between a correctly ordered Dockerfile and a build that behaves as if it isn't comes down to five distinct failure families: ordering traps, a build context that poisons checksums, a cache that never reaches CI, cache mounts that vanish with the runner, and multi-stage export modes. Here is how invalidation actually works and how to prove which one is costing you.

Continue ReadingDockerfile Layer Caching: Why Every Build Reinstalls Everything

Docker Logs Ate My Disk: A Working Guide to Log Drivers and Rotation

Docker's default logging driver writes container output to a JSON file with no size limit and no rotation. This is a practical guide to Docker log rotation: what the defaults actually do, why your daemon.json change did nothing, why deleting the log file did not free any disk, and how to choose between json-file, local, journald and shipping logs off the box.

Continue ReadingDocker Logs Ate My Disk: A Working Guide to Log Drivers and Rotation

Podman vs Docker: Is the Switch Actually Worth It?

Podman is the better-designed container engine and Docker is the better-supported one. A working engineer's comparison: the architectural difference that drives everything, where each one wins and loses, the four things that genuinely break in a migration (compose, the Docker socket, privileged ports, restart on boot), and a decision procedure to run against your own setup.

Continue ReadingPodman vs Docker: Is the Switch Actually Worth It?

Docker Compose in Production: What Works and What Quietly Burns You

Running Docker Compose in production is a reasonable choice for a single host, but the defaults were chosen for a laptop. A walk through the failure families that actually bite: the deploy gap, unrotated logs filling the disk, anonymous volumes, published ports that bypass your firewall, secrets in environment variables, and health checks that report without acting.

Continue ReadingDocker Compose in Production: What Works and What Quietly Burns You