Is it possible to use Mac Os as a container?

hello developers,

First priority I couldn't find a proper title for the question :(

The reason why I open a topic here is not to find the answer by direct point shooting; My goal is what do Apple, Developer, Companies and Devops teams think and comments about the subject I'm going to ask here?

We use Jenkins as the Devops CI/CD tool at our company, and in Macos/Apple/iOS development, we use a lot of Mac Mini devices. Since we build/compilers on a project-based, version-based basis, we cannot get 100% efficiency from our devices. (For example, because the dependencies of a project are different from other projects; we dedicate only 1 Mac Mini to that project. (As the dependecys of the projects are too many and large, the migration process is very difficult for us, the cost of moving to a lower-level Mac Mini device is high / but this is just an example))

While researching, I saw that there is no docker container image for MacOs X (enterprise or legal) and I know about the Apple EULA. (For virtualization, Apple hardware must be used as a basis. Because the MacOs system is paid for on a device-based basis.)

What I want to ask here is can I find or create a MacOs docker container image legally?

How is the structure of other companies in their CI processes?

If I install MacOs with more than one VMware/VirtualBox on Mac Mini, What harm could it do me in Jenkins? (I'm curious about people's comments on this.)

Replies

What I want to ask here is can I find or create a MacOs docker container image legally?

Docker containers are based on Linux's namespaces for isolation of software on top of a single Linux kernel.

On macOS, the user space uses a different kernel which has a very different interface. You won't find a way to run the macOS stack as a Linux container.

If I install MacOs with more than one VMware/VirtualBox on Mac Mini, What harm could it do me in Jenkins?

It's possible to run up to 2 macOS virtual machines on a Mac. It's a common set up for CI.

The most common pitfalls is how much memory you assign to each VM.

I have a similar problem. I found that it can be solved by using a virtual framework, and I am exploring how to start multiple virtual machines on a physical machine to share one Xcode to solve this problem. The purpose is to isolate environments in CI/CD scenarios.