Run Real Docker on Android — No Root, No Tricks, Just QEMU
You have an old Android phone in a drawer. It has 8 cores, 8–12 GB of RAM, and a fast SSD. It's collecting dust because the screen is cracked or the battery is tired. Meanwhile, you're paying $5/month for a 1 GB VPS to run the same Docker containers you could run on that phone for free.
The problem: Android doesn't run Docker. Docker needs the Linux kernel's cgroups, namespaces, and overlay filesystem. Android's kernel has those features compiled out for unprivileged apps, and there's no way to add them back without rooting the device.
The workaround everyone recommends is udocker or proot-distro. Those work for some things — pulling an image and chrooting into it — but they don't give you a real Docker daemon. You can't docker build. You can't run docker compose with networking. You can't use any tool that expects the Docker API to actually behave like Docker.
This tutorial shows the only path I've found that gives you a real Docker daemon running real containers on a non-rooted Android phone: run Debian in a QEMU virtual machine inside Termux. It's slow (10–25× overhead from software emulation), but it works — and it survives phone reboots.











