Linux Namespaces from Scratch
Containers are just namespaces and cgroups in a trench coat. Build one yourself with unshare and nsenter — no Docker required. Demystifies what actually happens.
All the articles with the tag "containers".
Containers are just namespaces and cgroups in a trench coat. Build one yourself with unshare and nsenter — no Docker required. Demystifies what actually happens.
Expose Docker's Unix socket over TCP so remote tools and dashboards can connect — daemon.json config for Linux and Windows.
Alpine gives you a shell and apk; Distroless gives you nothing but the app. Compare attack surface, image size, and multi-stage build complexity.
Appwrite is an open-source Firebase alternative you can self-host — databases, auth, storage, and functions without vendor lock-in.
Three ways to set env vars in Docker Compose. Only one wins. Here's which and why it breaks your configs.
ENV bakes secrets into layers visible in docker history. Use BuildKit --secret, runtime vars, or .env files.
Build ARM64 and AMD64 images from one machine using Docker buildx. Setup, syntax, pushing multi-arch manifests, and when you actually need it.
The docker compose commands you actually use daily — up, down, logs, exec, pull, and the flags that make them way more useful.
Network aliases give containers multiple DNS names. Perfect for blue-green deploys and service discovery patterns.
Access services on the host machine from inside a Docker container using host-gateway or host.docker.internal — no hardcoded IPs.
Learn how to set Docker resource limits for memory, CPU, swap, and PIDs. Practical guide with real-world sizing examples, OOM killer behavior, and cgroups explained.
The -v and --mount flags for Docker volumes explained — bind mounts vs named volumes, read-only, propagation, and tmpfs options.