LockerGnomeTech news and nostalgia for today's technology professionals
Subscribe

Search

Softwaredockercontainersopen-source

Kiri, a Free Docker Desktop Alternative, Puts Its Linux VM to Sleep After 60 Idle Seconds

Kiri is written in Rust by contributors who don't name themselves, and swaps the usual Docker plumbing for one daemon and a 10 MB kernel. Its speed charts come from its makers, and its own docs list a BuildKit bug.

Chris tucking a small container into bed
Illustration: LockerGnome

A container runtime called Kiri parks its Linux virtual machine after 60 idle seconds and wakes it in about 0.15 seconds. What stays awake in between is a daemon of about 15 MB, per the project’s README and its features page.

That’s a power nap for your dev environment. On a Mac or Windows PC, Kiri runs containers inside one small Linux VM, and instead of keeping it warm all day, it lets the VM doze the way a laptop does when you close the lid. The site, runkiri.com, puts it in six words: “the VM sleeps after a minute idle.”

The rest of the design exists to make the nap cheap. The README says the VM boots a custom 10 MB kernel whose first process is a Rust agent of about 900 KB. Your docker command, Compose and buildx talk to the Docker Engine API, which Kiri’s own daemon serves, so the commands in your fingers keep working. What’s missing is listed just as plainly: “no runc, no shim and no dockerd.” (Docker veterans, set down your coffee.) On Linux, it skips the VM and runs containers on the host kernel.

The speed charts deserve a squint. The README says starting and removing an Alpine container through the Docker API takes 2.55 milliseconds, against 213 for Docker Desktop and 380 for OrbStack, “about 80 times faster.” The results file behind it shows that the same test through the docker command line takes 14.15 milliseconds for Kiri and 243.3 for Docker Desktop, which is closer to 17 times. The results file also says OrbStack was juggling 86 containers and a Kubernetes cluster during the run, so the page calls its numbers pessimistic, and the runkiri.com chart, which gives 22 milliseconds against 178 for Docker Desktop, is marked as a sample: “Measured numbers replace these soon.”

Those are the makers’ measurements on one Apple-silicon Mac. Every number in this piece comes from Kiri’s own pages, because we found no outside test of it. The memory figures wobble the same way: the README says about 15 MB for the daemon, and the results file says 9.7 MB for the daemon and guest agent together, plus a 69 MB helper process Apple’s virtualization framework starts for the VM.

The project is also upfront about what breaks. The features page lists a known issue: --add-host name:host-gateway fails under BuildKit with “host-gateway is not supported by the docker-container driver.” The workarounds are to use the gateway address directly, 172.18.0.1 on Windows and Linux or 198.19.248.254 on a Mac, or to set DOCKER_BUILDKIT=0, with a built-in builder planned. On Windows, Kiri talks through a named pipe instead of TCP, because WSL’s localhost relay drops half-closes and docker run loses its output. Even privileged containers get no vsock sockets and no io_uring. The page doesn’t give a complete list of Docker features Kiri lacks.

Who is behind it takes some digging. The site credits “the Kiri contributors” and names nobody, and the code sits under the GitHub account libracoder, licensed Apache-2.0. The name comes from the Igbo word for “small,” and the price is “Free, and in beta on Mac, Windows and Linux,” with no word on what happens after the beta.

Docker Desktop’s pitch has always been that it just works. Kiri’s pitch is that “just works” can be a lot smaller, and the sleep timer looks like the feature that gets copied. It costs the user nothing to notice, which is the best kind of feature to steal: if the VM is awake only while containers are running, idle becomes free, and the runtimes that keep a guest warm all day will be asked why. The harder test is the long tail. A runtime that is 99% compatible loses to the one that is 100% on the day your Compose file hits the 1%.

Let sleeping daemons lie.

More Software

Every Software story →