4 ms·
I don't generally prefer to work on macOS, but if I wind up using macOS to do work, I often find myself working a lot on things in virtual machines and containe
by jchw 2y ago
I don't generally prefer to work on macOS, but if I wind up using macOS to do work, I often find myself working a lot on things in virtual machines and containers.
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.
- magnio 2y agoFunny how WSL2 makes Windows much more usable than macOS for development. None of the free options (colima, multipass, etc) I've tried on macOS are as smooth, though OrbStack might be it. I have also moved towards using devcontainers for my projects whenever I can, so that I can spin up my environment on whatever machine I have, or connect to a remote one if the machine doesn't allow it.
- jchw 2y ago> None of the free options (colima, multipass, etc) I've tried on macOS are as smooth, though OrbStack might be it. Yes, I am generally not terribly impressed by colima. Of course, it's great to have as an option, but in practice I ran into issues trying to use it in various places. One issue that I am sure isn't a huge deal to most users is that as far as I could tell, colima did not support IPv6. I didn't try multipass, but I did try Podman Desktop. It had its niceities but largely was behind even Docker Desktop. If you really miss WSL2 on macOS, you might genuinely find OrbStack enticing. Then again, it's not free, and obviously, I don't want to give anyone false hope. For "home" use, I just run desktop Linux, using native containers and libvirt for everything. If I had to pay for a decent development experience on my personal machines, I would definitely struggle to justify a subscription charge even if it was good. On the flip side, it's easy to budget OrbStack into the equation for professional use. For your employer it's virtually a no-brainer.
- pjmlp 2y agoOnly because it is a Linux VM, and people insist on using Linux specific stuff instead of UNIX, to the point younger generations have no clue about the difference. Even the BSDs and Solaris/Illumos have add to add Linux translation layers. Sad state where POSIX hardly matters for portable UNIX code.
- AYBABTME 2y agoCan you make containers in Darwin?
- pjmlp 2y agoYes, the macOS way, with Virtualization Framework.
- AYBABTME 2y agoThe virtualization layer breaks many "container" expectations, I wouldn't call this containers without big caveats. Same as firecracker VMs may give some of the ergonomics of containers but come with a lot of limitations.
- saagarjha 2y ago(No.)
- nyrikki 2y agoThe insane stability of the Linux ABI is partially what makes containers useful. The fact that containers can reliably depend on the ABI contract, thus placing almost any clib they wish they want inside the container is fairly unique. That extreme stability of that contract is awesome for namespace decoupling. Unfortunately Apple and Microsoft do not have such stable interfaces. Remember containers are just namespaces.
- pjmlp 2y agoOnly in the context of Linux containers, not in general, starting with HP-UX Vaults on UNIX land.
- majormajor 2y agoI've never found working on WSL2 to be quite as smooth as working on Ubuntu or Fedora directly. I don't really understand why I'd keep Windows in the loop there if I was on non-Mac hardward. And I've also found WSL2 less smooth than just working on Mac natively w/o containers. Containers are a necessary evil for testing certain types of things locally, but even the free tools for working with them on Mac seem fine, though Orbstack's gui is very nice. (Is there a similar GUI for Linux container management? I've just been running shell commands for years now...) Instead of moving more towards containers I've just been moving towards simpler, easier-to-set-up-on-Linux-or-Mac toolchains. But I don't have Windows as a target anyway, so that removes one huge need for containers.
- justin_oaks 2y agoI've used Portainer, which works ok. It's web-based and is easy enough to run as a container itself. My preferred UI for managing containers is Lazydocker. It's a terminal UI, so I can run it on servers too. For the most part I just use the command line on Linux, but when I need to go through a large list of containers, images, or volumes to clean up, lazydocker is much better than the command line.
- madeofpalk 2y ago> Funny how WSL2 makes Windows much more usable than macOS for development As long as you use VS Code. Using another editor through the network share isnt great and runs into all sorts of other compatibility issues otherwise. I've also ran into a bunch of networking quirks with WSL2 + Docker that were frustrating to sort out. WSL2 makes *nix development on Windows great, but I would still much prefer to just be in a native environment.
- SambrownYC 2y agoThe difference between darwin and macos environments really stands out with postgres stuff. Try installing WAL2json on macos postgres and you will feel my pain.