-
Couldn't load subscription status.
- Fork 499
Description
Feature or enhancement request details
From a development perspective, it would be really cool if I could run the same container tooling on Linux.
Some initial thoughts:
- Since Swift is available on Linux, the command-line application should be possible to compile
- Apple's Virtualization platform is obviously not on Linux, therefore a different backend would have to be used.
I see two possible replacements for Apple Virtualization backend on Linux:
- Implement client support for a backend like Docker, Containerd, Podman, etc.
- When on Linux, replace calls to Apple's Virtualization platform to a different virtualization system like QEMU
Solution 1: Docker, containerd, etc. client support
I think solution 1 is better because I imagine it would likely be easier to implement and I could see MacOS benefiting from being able to act as a client to an existing Docker, containerd, etc. installation.
In this mode, management of the container system service should be completely disabled, i.e. container system should just be restricted to MacOS 15+, imo.
Solution 2: support a different virtualization backend
For solution 2, I could see leveraging a VM system like lima on Linux as feasible -- Lima is a very robust wrapper around QEMU. As I understand it, the container platform creates extremely lightweight Apple Virtualization VMs, there would likely need to be some effort to make super lightweight VMs in QEMU to replicate something similar.
If not Lima, one could go with straight QEMU, but I suspect that would be far more difficult.
I think supporting a different virtualization backend would also benefit MacOS by making the container tool a bit more versatile. I'd imagine that removing constraints around Apple Virtualization would also enable the container tool to run on older versions of MacOS as well, since QEMU works on older MacOS.
I understand this request might not be as simple as I've made it out to be, but as a MacOS user who uses Linux constantly, I'd be really excited to see something like this made possible.
Code of Conduct
- I agree to follow this project's Code of Conduct