macOS in QEMU in Docker
I just want a good CI/CD system for macOS to build iOS apps without needing to buy a farm of Mac Minis, or even buy a Mac, is that too much to ask?
More info on the project in this reddit thread from a few hours back:
https://www.reddit.com/r/jailbreak/comments/gwg3e4/free_rele...
The developer mentions[0] that, like macOS-Simple-KVM[1], this leverages kholia's OSX-KVM[2].
[0] https://www.reddit.com/r/jailbreak/comments/gwg3e4/free_rele...
It's hard to see what Docker is adding here since qemu is being run inside Docker. You could get almost identical functionality out of a bare VM image and not deal with the hassles of docker.
Can macOS virtual machines ever be performant enough to use as a workstation? So far I have only tried setting it up in VMWare and VirtualBox, the performance wasn't there but I haven't dedicated a GPU or drive to it yet. It would be so convenient to decouple macOS from Mac hardware.
I have always wondering how Azure, BrowserStack and such support Safari or macOS. Do they have custom licensing with Apple to allow to run it virtualised or are they actually running it on Macs?
If I remember correctly you can only run macOS on their hardware.
Does this break the user agreement for macOS?
Does this mean I can run Xcode to do iOS and Unity builds on a Linux host?
on the model of "Hackintosh", I am inclined to propose "Dockintosh"
This was done by SpaceInvader for the UnRAID docker community months ago. As stated, it is just streamlining a process that has been available with KVM-OSX with various bash scripts for months or years before that.
OT: Has anyone Found virtualization really resource in the latest OS X? It was eating up 25 percent of my RAM doing nothing. Both Docker and Vagrant were so resource hungry that I ended up ditching them.
Great work! I would add a disclaimer that you should only run this on Mac hardware. Ie you can run Arch on mac hardware. Get an old mac and point to it if someone asks.
Has anyone had success running the docker image on Arch? I ran into some issues but wondering if it's me or the instructions
Now if we could just get a windows docker container running on unix hosts I could debug my cross-platform support.
Does it run iMessage on Windows?
How well does this run? OSX runs like molasses in Virtualbox under Windows/Linux
Could this be used to run an iMessage proxy on a server?
Lrnix os is best on macOS
Does it have to be a Linux host? Can it be a Mac OS X host?
Oh yes, finally.
With this, you can do pretty everything
What a waste.
amazing project
my container got the name "silly_torvalds" do you want to tell me something Linux Kernel?
Edit: Okay, I understand my assumption was wrong. Thanks
Doesn't docker run a container in a single thread? So this would be running the entire MacOS in a single thread? Is there a way to tell Docker to execute this in multiple threads?
So this is pretty misleading. It's really a full system emulator (qemu) running inside Docker, using root privileges on the container that make the isolation very weak (--privileged).
It also uses hardware assisted virtualization (KVM) which is not going to be available most of the time Docker is.
You can think of the Docker platform itself as subset of the Linux platform. With many common features removed by default... SYS_PTRACE, cgroups come to mind as not allowed within the container. (This "Docker as a subset of Linux" is also what you end up getting from most "Docker as a service" platforms offered by clouds, including kubernetes. I'm referring to AWS Fargate, Google Cloud Run, GKE, AKS, here.)
So don't think of this as macOS in docker wherever docker runs.
What would be a lot more analogous to macOS in docker would be running Darling in docker: https://www.darlinghq.org/ ... if that could be made to work for the entire system (highly unlikely)
Darling is more like Wine in that it runs native executables for one platform as native processes on another platform using a compatibility layer. Wine, by the way, definitely works quite well inside Docker.
Also, one final thought. I wonder if you could get macOS to boot in QEMU without hardware assisted virtualization. Then you could probably run this in a fully isolated container again. The performance would likely be abysmal though!