Можно ли запустить Mac OS X внутри Docker? Если да, то как?
И будет ли он работать без головы, или будет возможность удаленно подключиться к графическому интерфейсу?
Docker предоставляет методы для управления контейнерами на уровне ОС и построен на основе встроенных функций Linux для контейнеризации на уровне ОС. Все контейнеры, работающие в системе, используют одно и то же ядро; Mac OS X не использует ядро Linux, а скорее ядро Mach, поэтому в настоящее время его нельзя запускать внутри контейнера Docker.
Вы можете запустить Docker на ваш Mac использует виртуальную машину, но контейнеры, работающие на этом экземпляре, должны работать под управлением Linux.
Теперь, когда Docker использует libcontainer, а не LXC в качестве своей основы, возможно, что перенос libcontainer в будущем может однажды позволить запускать контейнеры Docker для Windows и Mac OS в этих системах соответственно, но это будет зависеть от того, будут ли соответствующие функции ОС доступны для разрешить контейнеризацию.
Возможен запуск виртуальной машины OSX в контейнере Docker. Взгляни на https://github.com/Cleafy/sxkdvm например.
Если вы хотите запустить macOS прямо внутри Docker, ответ будет нетсм. @ phoebus's ответ.
Если вам это действительно нужно, см. @Andrea Brancaleon's ответ который предлагает установить macOS внутри виртуальной машины внутри Docker.
Но если вам интересно, возможно ли вышеуказанное решение в соответствии с лицензией macOS, то ответ снова будет нет *.
Цитирование лицензионное соглашение на программное обеспечение для macOS Catalina, раздел 2, пункт B:
[...] you are granted a limited, non-transferable, non-exclusive license: [...]
(iii) to install, use and run up to two (2) additional copies or instances of the Apple Software
within virtual operating system environments on each Mac Computer you own or control that is
already running the Apple Software, for purposes of: (a) software development; (b) testing during
software development; (c) using macOS Server; or (d) personal, non-commercial use.
То же самое и для более старых версий macOS.
* если вы не собираетесь запускать macOS внутри виртуальной машины внутри контейнера Linux Docker внутри виртуальной машины Linux на хост-системе macOS на оборудовании Mac