Ridiculously lightweight containers for macOS.
No Docker Engine. No daemon. No Docker Desktop. One CLI.
brew install OthmaneBlial/rift/rift
rift pull alpine
rift run --rm alpine echo "Hello from Rift"Homebrew builds Rift from source with Zig. The installed CLI needs neither Zig nor Docker. First use downloads guest boot files.
Docker Desktop brings a full container platform to Mac. Rift focuses on running Linux containers locally with Apple's Virtualization.framework.
| Docker Desktop | Rift | |
|---|---|---|
| Setup | Desktop app, Docker Engine, Linux VM | CLI and guest boot files; one VM per run |
| Idle | Resource Saver can stop the VM; restart takes 3–10 seconds | No persistent Rift daemon |
| VM memory setting | Limit defaults to 50% of Mac RAM | 256 MiB guest RAM by default |
| License | Paid subscription required for larger businesses and government use | Apache 2.0 |
Measured on one Apple M2 Mac: 2.06 MB executable · 46.25 MiB installed plus first-use boot files, before images · 1.13 s cached Alpine launch · 154.7 MiB idle worker and VM-service process footprint. Method and raw results. These are Rift measurements, not a head-to-head Docker benchmark; process footprint excludes kernel memory. Docker's 50% setting is a VM limit, not actual RAM usage.
Docker facts: Mac requirements, resource settings, and license terms.
id=$(rift run -d -p 8080:80 nginx)
curl http://127.0.0.1:8080
rift logs "$id"
rift stop "$id"
rift rm "$id"- Pull and run verified
linux/arm64OCI images. Tested registries. - Run in foreground or detached mode; inspect, exec, log, stop, and remove containers.
- Build images from a useful Dockerfile subset with
rift build -t local/app .. - Forward one TCP port, mount host files, set resource limits, and manage local image storage.
Apple Silicon and macOS 12+ only. One TCP port and up to 16 volumes per run. Dockerfile support is partial. Signed and notarized downloads are not available yet; security review is ongoing. Rift is not a full Docker Desktop replacement.
Architecture · Benchmarks · Roadmap · Releases
Run local checks with ./scripts/check-local.sh. GitHub Actions is disabled.