Live data from Hacker News

macOS in QEMU in Docker

github.com

31–40 of 190 posts

Re: macOS in QEMU in Docker

#31
post #17
post #15

Does this break the user agreement for macOS?

Only if you do it on a non-Apple comoputer. If you install linux on your mac, then follow the guide I believe it should be fine.

The agreement is pretty vague on the subject but it seems that you can get permission to virtualise on non-Apple hardware. How one does this and if anyone ever has is another matter entirely.

Re: macOS in QEMU in Docker

#32
post #20
post #16

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.

It's a hammer problem. Docker is the new hammer and now everything starts to look like nails.

Yep. We know it's not a nail though. It's a screw. And they duct taped a screwdriver to the hammer and called it "Driving screws with a hammer".

Re: macOS in QEMU in Docker

#33
post #23

Earlier quoted context omitted.

Azure DevOps has hosted MacOS build agents, which you can use on the (generous) free tier.

Although it's slowly being migrated to GitHub (though they won't officially admit it), DevOps is a great service with a lovely UI. The pipeline docs are somewhat lacking though IMHO but once you get them working, they work great.

I've been worried about Azure DevOps getting merged into GitHub since Microsoft bought Github, but thankfully I haven't seen any drop in the maintenance of Azure DevOps, not yet anyway.

As much as I like Github for OSS projects, I really love Azure DevOps for everything else. The CI/CD capabilities are amazing, and I haven't had any real issues with lack of documentation (a few small things here and there for sure though).

Long may it live, I hope!

Re: macOS in QEMU in Docker

#34
post #16

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.

Aren't you being a little too harsh? The Dockerfile automates the installation of libvirt and custom components to launch the VM so while the title might be misleading it is hardly "not adding" anything.

Re: macOS in QEMU in Docker

#35

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?

Then you should look at either Bitrise [0] who have a CI/CD system tailored to solving that exact problem or GitHub Actions [1] that provides macOS build machines.

[0] https://www.bitrise.io/

[1] https://github.com/features/actions

Re: macOS in QEMU in Docker

#36

Does it have to be a Linux host? Can it be a Mac OS X host?

I'm pretty sure since Docker uses bhyve on mac, so that would be a nested VM...

I misunderstood the angle this thread was taking - I thought the OP was going to ask if the Dockered MacOS could run Docker. I was just reading up on Rancher OS, but that’s a containerisation too far at this time in the AM.

Re: macOS in QEMU in Docker

#37
post #16

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.

It's just another packaging format, and if I had to choose just one then Docker is the least worst for me.

Least worst is obviously subjective but for me it includes running a bunch of random stuff in roughly the same way across Linux, OSX and Windows. The launch and manage UX is significantly better than vms also (not intrinsically, for any good reason, but in practice).

I get that this container is not actually portable tho.

Re: macOS in QEMU in Docker

#38

Does it have to be a Linux host? Can it be a Mac OS X host?

I'm pretty sure since Docker uses bhyve on mac, so that would be a nested VM...

Docker has their own xhyve derivative called hyperkit. Nested VMs are not supported https://github.com/moby/hyperkit/issues/127

Re: macOS in QEMU in Docker

#39

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…

its using docker as an artifact delivery mechanism, not as an isolationism mechanism.

Re: macOS in QEMU in Docker

#40

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?

According to Apple software license agreements, yes, it is too much to ask. You can not legally run Mac OS on non-Apple hardware. But don't be sad, their new Mac Pro is fantastic .

It's an unenforced provision of the license agreement. No attorneys are recommending it but it's happening. I wouldn't start your own CI firm with it though.

Unlike Microsoft, Apple has no motives to send the BSA after anyone. Pretty sure they've only used them for egregious copyright violations like the commercial Hackintoshes.

Post reply on HN