Posts

Showing posts with the label Docker

K3s vs Docker: What I Learned Choosing Between Them for My Home Server

Image
I run a handful of services on a single home server and recently had to actually decide between sticking with Docker Compose or moving to K3s for orchestration. This post is what I found out comparing the two, where each one makes sense, and which one I'd actually pick depending on the situation. They're Not Really Competing With Each Other Docker and K3s solve different layers of the same general problem, which is part of why comparing them gets confusing. Docker is a container runtime and packaging tool. It builds images, runs containers, and with Docker Compose it can coordinate a handful of containers on one machine. K3s is a certified Kubernetes distribution. It orchestrates containers across one or more nodes, and it still needs a container runtime underneath it, usually containerd, to actually run anything. For a single self-hosted server though, this distinction gets blurry fast. Docker Compose and a single-node K3s cluster end up solving the exact same real problem: r...

Working with WSL2

Image
I've been using WSL2 for most of my Windows dev work for a while now, and I finally sat down to understand exactly what's happening under the hood, mostly because I kept hitting the same disk space issue every few months and got tired of googling the fix each time. This post covers what WSL2 is, where it's actually useful, the trade-offs, picking a distro, the commands I use most, connecting it to Docker, and that disk space issue in detail.   What WSL2 Actually Is WSL1 worked by translating Linux system calls into Windows API calls on the fly. It was a clever approach but it had real limits: anything that needed actual kernel behavior, like Docker or proper namespaces, just didn't work. WSL2 does something different. It runs a real Linux kernel inside a lightweight Hyper-V virtual machine that Microsoft maintains. That's the part that matters. WSL2 isn't emulating Linux, it's running it. Each distro you install gets its own instance of this VM, backed by it...