OrbStack: The fast, light, and easy way to run Docker containers and Linux
OrbStack is a lightweight alternative to Docker Desktop for macOS, offering low resource usage, fast startup, seamless tool integration, and improved performance, especially on Apple Silicon, enhancing container management.
Read original articleOrbStack is a new application designed to provide a fast, lightweight, and simple alternative to Docker Desktop for running Docker containers and Linux on macOS. It boasts low memory usage, minimal CPU and disk consumption, and quick startup times, making it suitable for developers looking for efficient container management. OrbStack integrates seamlessly with various tools, allowing for easy file sharing, remote SSH editing, and command line operations. It supports running full Linux distributions and offers robust connectivity features, including IPv6 support. Users have reported significant performance improvements over Docker Desktop, particularly on Apple Silicon Macs, with faster provisioning times and reduced battery drain. The application is designed to be a drop-in replacement for Docker Desktop, making it easy for users to transition without extensive setup. Overall, OrbStack aims to enhance the development experience by providing a more efficient and user-friendly environment for container management.
- OrbStack is a lightweight alternative to Docker Desktop for macOS users.
- It features low memory and CPU usage, optimizing performance on Apple Silicon.
- The application allows seamless integration with various development tools and remote editing.
- Users report faster startup times and improved battery life compared to Docker Desktop.
- OrbStack supports running multiple Linux distributions and offers robust networking capabilities.
Related
Orb: Write WebAssembly with Elixir
Orb leverages Elixir's ecosystem to simplify WebAssembly writing, offering features like composable modules, Hex package manager, ExUnit testing, macros, and syntax highlighting. It enables Elixir code compilation to .wasm, supports reusable modules, and integrates existing Elixir libraries for MIME tasks, showcasing flexibility in WebAssembly development.
Podman Desktop 1.11: Light mode, Kubernetes features, macOS improvements
Podman Desktop 1.11 introduces light mode, Rosetta support for Apple Silicon, Kubernetes enhancements, improved UI, and manifest support. Users can toggle light mode, achieve faster AMD64 builds on Apple Silicon, and benefit from upgraded features.
WebContainers: Dev environments. In your web app
WebContainers by StackBlitz transform web development with instant coding in browsers. Full-stack apps, secure Node.js projects, interactive docs, and AI-native IDEs benefit developers, educators, and industry stakeholders.
Orca: WebAssembly Apps Without the Web
Orca is developing a cross-platform application stack with a canvas API for 2D graphics and WebGPU backend. It has improved tooling, moved to GitHub, and aims for unified graphical application development.
macOS in Docker Container
Docker-OSX allows users to run macOS in Docker containers, supporting multiple versions and offering features for security research and iMessage testing. It requires a KVM-capable host and provides community support.
- Users report significant performance improvements over Docker Desktop, especially in terms of speed and resource usage.
- Many appreciate the seamless integration and user-friendly interface of OrbStack, making it a preferred choice for macOS development.
- Some users express confusion about the lack of clear platform specifications, noting that it is macOS-only.
- There are mentions of issues with backup compatibility due to the use of a sparse disk image.
- Overall, users are generally satisfied with OrbStack, praising its reliability and functionality.
Using Docker Desktop to compile Envoy using the standard Docker build process took somewhere in the ball park of 3 to 4 hours depending on my luck. OrbStack, on the other hand, brought it down to a bit under an hour, much closer to inline with a fresh compilation natively. Needless to say, the kinds of performance benefits I was seeing with OrbStack were game changers, and absolutely justify the cost.
Even if Docker Desktop improves to match the performance, OrbStack brings basically the whole WSL2 + Docker experience to macOS, while Docker just brings the usual Docker experience. If you get the value of WSL2 on Windows, you'll probably understand the value of OrbStack on macOS.
Sure, macOS is a UNIX environment, so a lot of the same software as Linux does run natively. However, a lot of Linux technologies don't really map to Darwin, so if you're working on Linux stuff on your macOS machine, there are plenty of use cases for virtual machines (case in point, Docker itself) not to mention simply being able to test software and build processes on Linux. The tight integration that OrbStack gives you is far better than just using Parallels or VMware. I have licenses for both at varying versions, but they're largely collecting dust on macOS, as now I basically only ever use traditional virtual machine products on macOS for the purpose of running Windows VMs.
I'm sure some people don't have any use for this: their Docker performance is fine, they don't need Linux for anything else, etc. However, for me, it's one of those things that makes macOS much more usable for development work.
I admit my greatest confusion about this software is how a product that appears to be a one-man show so quickly became more compelling than the well-funded incumbent (Docker Desktop). This is even more impressive considering that the developer appears to be a college student.
Hats off, this is amazing work.
I develop a cloud native system entirely writen in Rust. All my own containers are build without Docker thanks to rules oci in Bazel. However, for integration testing, I'm using internal tools that fire up, say a database container and run the tests all from within Bazel to leverage test caching and parallelization.
For a while, i was struggling to get around Dockers slow startup time on Mac. My CI server uses Firecracker VM's to isolate OCI containers so it's really only a docker on Mac issue.
My main take away:
- I am so close to delete Docker permanently. There is no comparison, not even close. All integration tests run so much faster.
- Especially parallel container starts a noticable faster.
- I've developed custom docker utils for testing and, believe me, the official Docker API is a humongous pile of garbage that I ended up re-implementing everything by wrapping the Docker command line. To nobody's surprise, even the custom docker utils work way faster and more reliable with OrbStack.
- Zero issues. I am still a little bit puzzled that OrbStack basically runs bug-free no matter what I throw at it. Take it as a compliment.
What I would like to see:
- A Ressource monitor or at least some graph that plots CPU and memory usage. In some rare cases the application in the container runs close to the limit probably because a query takes too long, a process got stuck or whatever. Stuff just happenens. Point is, having an eye on ressource usage helps to spot those corner cases early on.
For me, OrbStack is a clear win and a clear keeper. Well done Orb team and I wish you guys all the success in the world.
That being said, it wasn't always been smooth sailing. Under the hood, OrbStack uses an 8TB sparse disk image, which doesn't play nice with most backup software.
https://github.com/orbstack/orbstack/issues/29
It caused me problems with Backblaze, but the Github issues for this show that it also breaks all sorts of backup software, including tarsnap, Druva inSync, Carbon Cloner, iDrive, Carbonite, and even Time Machine itself when formatted with HFS+, apparently.
The official position for a year was "won't fix", because it's an Apple technology, and backup software should support that. While technically correct, realistically, sparse image backup support was not very widespread at the time. (I have no idea about now, since I gave up trying to back up my Orbstack image with my whole disk backup.)
I like Orbstack, but I wish the devs had moved to exclude the disk image from backups immediately, instead of arguing with people about it for a year first.
All that being said, I do still like OrbStack a lot, and I hope to never see a repeat of this problem and how it was handled.
https://docs.orbstack.dev/features/debug
OrbStack is well worth the price IMO
What's amazing is it fixes an (almost) show stopper bug when using libuv (or software that uses it like CMake) with Rosetta 2 [1], with the bug present on all Docker/VMs I've tried except OrbStack. It just seems to get everything right.
I work on OrbStack. Happy to answer questions!
Amazing how far they've got since, in just two years. As others have pointed out, it's already "boring" software in that it just works. And that's no small feat because this kind of tool requires all kinds of low-level hackery to make work, and make work fast. Hats off!
(Happy user here if you couldn't tell.)
So that Linux & Windows people know they can look away. (Looks like a cool tool though!)
Can’t say that for much software to be honest.
What would be the closest alternative on Linux? LXD? I've grown accustomed to the convenience of OrbStack.
* On MacOS Hosts only.
I feel like there should be a rule that if the submission is basically a "Show HN" style post (or a link to s piece of software), it should be mentioned in the title if its platform specific.
Related
Orb: Write WebAssembly with Elixir
Orb leverages Elixir's ecosystem to simplify WebAssembly writing, offering features like composable modules, Hex package manager, ExUnit testing, macros, and syntax highlighting. It enables Elixir code compilation to .wasm, supports reusable modules, and integrates existing Elixir libraries for MIME tasks, showcasing flexibility in WebAssembly development.
Podman Desktop 1.11: Light mode, Kubernetes features, macOS improvements
Podman Desktop 1.11 introduces light mode, Rosetta support for Apple Silicon, Kubernetes enhancements, improved UI, and manifest support. Users can toggle light mode, achieve faster AMD64 builds on Apple Silicon, and benefit from upgraded features.
WebContainers: Dev environments. In your web app
WebContainers by StackBlitz transform web development with instant coding in browsers. Full-stack apps, secure Node.js projects, interactive docs, and AI-native IDEs benefit developers, educators, and industry stakeholders.
Orca: WebAssembly Apps Without the Web
Orca is developing a cross-platform application stack with a canvas API for 2D graphics and WebGPU backend. It has improved tooling, moved to GitHub, and aims for unified graphical application development.
macOS in Docker Container
Docker-OSX allows users to run macOS in Docker containers, supporting multiple versions and offering features for security research and iMessage testing. It requires a KVM-capable host and provides community support.