5 ms·
Forgive my naïveté regarding Podman. On macOS, does this use the same virtualization approach that docker desktop uses?
by SOLAR_FIELDS 3y ago
Forgive my naïveté regarding Podman. On macOS, does this use the same virtualization approach that docker desktop uses?
- mmcdermott 3y agoSame basic approach in that it is a Linux VM that actually runs the containers, but it is based on qemu instead of VirtualBox.
- alphabettsy 3y agoIs Docker still using a VirtualBox based solution? I thought they were using the macOS virt framework.
- nonameiguess 3y agoI doubt they're using VirtualBox. VirtualBox didn't even run on Apple Silicon until 9 months ago, but Docker Desktop still worked, so it must have been using something else.
- cpuguy83 3y agoNo, it has never used virtual box. Originally it used hypervisor.framework. I wouldn't be surprised if they now use the virtualization framework (newer higher-level abstraction on macOS).
- tauchunfall 3y agocolima allows to chose between qemu and apple virtualization framework. I found there is not much diffence in performance between both on my intel macbook. I think it will not take long until rancher also updates to latest lima to support apple virtualization. but I haven't checked the latest release notes.
- Art9681 3y agoThat's because QEMU can do hardware acceleration in an x86 host but not in M architecture. But as far as I know, only the Apple framework can do hardware acceleration or use Rosetta 2 to make things near native speed on an M-series Mac.
- dboreham 3y agoYes.
- seaal 3y agoYes. Perhaps OrbStack[1] is what you're looking for. [1] https://orbstack.dev/ https://orbstack.dev/
- SOLAR_FIELDS 3y agoThanks I’m gonna try it out. Sucks that it’s closed source but I do so much work in containers these days that it’s worth it just for the speed
- mogwire 3y agoOrbstack also uses a virtual machine. How does it work? Why is it fast? OrbStack uses a lightweight Linux virtual machine with tightly-integrated, purpose-built services and networking written in a mix of Swift, Go, Rust, and C. See Architecture for more details.
- Art9681 3y agoIt's using Apple Virtualization Framework + Rosetta acceleration instead of third party hypervisor like QEMU. There are ways to do this via the CLI with a simple one line command if you have Xcode installed.
- bloopernova 3y agoThank you for that link! It's a very interesting product, it does use a VM, but seems to have some "special sauce" code to improve the speed of things. It also says it shares the kernel among multiple VMs. Very cool stuff.
- Art9681 3y agoIts using this: https://developer.apple.com/documentation/virtualization https://developer.apple.com/documentation/virtualization
- bloopernova 3y agoInteresting, I thought Docker Desktop was doing that too. When I have time (HA!) I will try to compare podman/orb/docker a bit more.
- mfer 3y agoTo run Linux containers you will always need Linux somewhere. On macOS this would be in a VM that's usually managed by the tooling. Docker Desktop, Rancher Desktop, lima, and others all do this. On Windows you have the Windows Subsystem for Linux v2 that uses a VM. For simplicity, the tooling often tries to make this simple and transparent to use.
- pid-1 3y agoFun fact: in Linux, Docker Desktop also uses a managed VM. https://docs.docker.com/desktop/faqs/linuxfaqs/#why-does-docker-desktop-for-linux-run-a-vm https://docs.docker.com/desktop/faqs/linuxfaqs/#why-does-doc...
- deleted 3y ago[deleted]
- v3ss0n 3y agoYeah that's the worst thing docker did
- deleted 3y ago[deleted]
- Art9681 3y agoIf its hardware accelerated the performance difference would likely not matter. And you're not going to deploy a high performance container on a desktop environment since edit:[the desktop] will consume a much greater deal of resources from your host than the VM ever will. For deploying a development environment or self-hosted services it's fine.
- v3ss0n 3y agoIt sure does. It crippled my intern gaming laptop just later found out that she is using docker desktop instead of docker.io in Linux.after reinstalling that , there's no visible performance problems running containers