返回资讯中心
外部精选
软件工程
#开发者实时流

A small, fast container runtime for Mac, Windows and Linux. Written in Rust

New0.1.17 Mac · Windows · Linux written in Rust

Hacker News 最新rmoriz2026/11/5 · 今天18 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

New0.1.17 Mac · Windows · Linux written in Rust

Built from scratch in Rust, not on top of Docker's parts. Kiri runs Docker containers with one daemon. The docker CLI, Compose and the Docker API work as they do today.

The 8×: docker run takes 22 ms on Kiri and 178 ms on Docker Desktop (152 ms on Colima, 279 ms on OrbStack), every engine on 2 CPUs and 8 GB.

Sample One Apple-silicon Mac, one runtime at a time. Measured numbers replace these soon. Benchmarks →

Free, and in beta on Mac, Windows and Linux. Something broken or annoying? Tell us with Feedback in Kiri's window, and we fix it.

webnginx:alpine47 MBLive

dbpostgres:17438 MBUp 2 min

apinode:221.1 GBUp 2 min

redisredis:7117 MBExited

Kubernetes9 pods ready

Works with what you already use

docker

docker compose

docker buildx

Docker Engine API

Docker Hub

OCI images

ghcr.io

Dockerfiles

docker

docker compose

docker buildx

Docker Engine API

Docker Hub

OCI images

ghcr.io

Dockerfiles

What's in it

Containers were the start. Kiri now builds and scans images, runs Kubernetes and whole Linux machines, and puts any container on the internet with one click.

Containers and Compose

Every docker command you use, Compose projects grouped in the window, and a page for each container with live logs, a shell and its files.

Images from Docker Hub

Search Docker Hub from the window and watch each layer pull. amd64 images run through Rosetta.

Builds, with a scan

docker build through BuildKit, a Builds view of every build, and a vulnerability scan of each image on its own page.

Kubernetes

kiri k8s start gives you a k3s cluster in about 20 seconds, with Pods and Services in the window. kind runs too.

Linux machines

kiri machine create dev --distro ubuntu: your user, sudo, and your Mac folders at the same paths.

Share

A public link for any container on runkiri.cloud, from the window or kiri share web. More.

Names and HTTPS

Apps open at web.kiri.local, Compose services at api.myapp.kiri.local, with HTTPS from Kiri's own narrow certificate authority.

Light on your Mac

Unused memory goes back while it runs, and the VM sleeps after a minute idle. The daemon stays around 15 MB; waking takes 0.15 s.

Move over in one go

Bring your images, volumes and containers from OrbStack or Docker Desktop, then switch docker to Kiri from the window.

With Kiri open, the ordinary docker command runs on Kiri, and kiri adds what Docker doesn't have: a name for every container, Kubernetes, Linux machines and a public link.

$ kiri run --rm alpine echo "kiri" prints kiri. $ kiri run -d --name web nginx prints a container ID. $ kiri ps lists the running web container. $ curl http://web.kiri.localhost reaches it by name, with no port to remember. $ docker ps shows the same container, because Kiri answers the Docker API. $ kiri share web gives it a public link at web.runkiri.cloud.

Press Share on a running container and it answers at a public address on runkiri.cloud, over HTTPS, until you press Disconnect. Show a client the branch you're on, test a webhook, or open your app on your phone.

Open the disk image and drag Kiri to Applications. It sets up docker for you.

Search Docker Hub in Images and press Pull, or:

Press Run and give it a port. It starts in milliseconds.

Press Share on the container for a public link, or:

OrbStack and Docker Desktop pass every container start through five programs, each with its own socket. Kiri passes it through one daemon that calls the kernel itself. Same docker command on all three.

Five hops. One shim process stays resident for every running container.

The same five hops, and a shim per running container.

One daemon creates namespaces, cgroups and mounts itself. Nothing per container is left running. Most of this time is the docker CLI starting up. Through the Docker API, a whole container lifecycle takes 3.1 ms.

Medians from one full run on one Apple Silicon Mac, every engine limited to 2 CPUs and 8 GB, all three through the same docker CLI with Docker's default bridge networking. Stops are drawn evenly; only the totals are figures. Windows has its own race.

Full benchmarks: p99s, the Docker API path and every raw figure →

On macOS, Kiri boots a single Linux VM through Apple's Virtualization.framework, with a custom kernel and a small Rust init as PID 1. The host and guest talk over vsock. Inside, the Kiri daemon creates each container with clone3. On Linux the same daemon runs on your own kernel with no VM at all, and on Windows it runs inside WSL2.

kiri hostDocker API socket · 409 KB

Virtualization.framework One VM for every container. No per-container process on the host.

vsock guest vsock round trip p50" data-bind-suffix=" round trip, p50">31 µs round trip, p50

Linux VM custom minimal kernel kiri-init · PID 1 · 360 KB kiri daemon

clone3

containers: namespaces + cgroup + overlay

Kiri architecture on macOS: host, vsock, Linux VM with kiri-init, kiri daemon and containers

macOS host Stormglass later docker / kiri CLI

kiri hostDocker API socket · 409 KB

Virtualization.framework

vsock guest vsock round trip p50" data-bind-suffix=" p50">31 µs p50

Linux VM custom minimal kernel kiri-init · PID 1 · 360 KB kiri daemon

clone3 → containers

One VM, one daemonSee the numbers →

One VM serves every container. Cold boot to ready takes 112 ms, down from 810 ms on a stock kernel.

Requests cross one vsock channel into the VM, not a chain of Unix sockets. A round trip takes guest vsock round trip p50">31 µs.

No process stays per container. OrbStack keeps a shim for each one: 143 running containers held 1.13 GB in shims on our test Mac.

Measured on one Apple Silicon Mac. Method and raw numbers are on the benchmarks page.

AppKit and the system WebKit on the Mac, Win32 and WebView2 on Windows, so no Electron and no bundled browser. Manage containers, images, volumes, networks and Compose projects, with live stats, logs, a terminal and files for each container. Running apps open by name at myapp.kiri.local. On the Mac it brings your images and volumes over from OrbStack or Docker Desktop, and lives in the menu bar.

MacOne minimal Linux VM through Virtualization.framework

WindowsInside WSL2, with the Docker API on a named pipe (beta)

LinuxNative, no VM at all: the daemon calls clone3 on your kernel

‹› Docker

web nginx:alpine Up 2 min 2 min ago Live···

api node:22 Up 2 min 2 min ago Share···

db postgres:17 Up 2 min 2 min ago Share···

worker python:3.13 Up 40 s 1 min ago Share···

redis redis:7 Exited (0) 1 h ago Start···

Kiri 0.1.17

Linux VM running ·4 of 5 running ·657 MB of 4 GB ·docker → default ·Feedback

Download

Every number on this page was measured on it. Kiri sets up a kiri docker context and brings its own docker, Compose and buildx, so there's nothing else to install. Coming from OrbStack or Docker Desktop? Kiri brings your images and volumes over.

$ docker run --rm hello-world

Same docker and docker compose you use today.

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →