Bisakah Mac OS X dijalankan di dalam Docker?

Bisakah Mac OS X dijalankan di dalam Docker? Jika demikian, ada saran bagaimana caranya?

Dan apakah itu berjalan tanpa kepala, atau akan ada kemungkinan untuk terhubung ke GUI dari jarak jauh?

Docker menyediakan metode untuk mengelola Kontainer tingkat OS dan dibangun di atas fitur asli Linux untuk kontainerisasi tingkat OS. Semua kontainer yang berjalan pada sistem berbagi kernel yang sama; Mac OS X tidak menggunakan kernel Linux, melainkan kernel mach, sehingga tidak dapat dijalankan di dalam wadah Docker saat ini.

Anda dapat menjalankan Docker on Mac Anda menggunakan mesin virtual, tetapi kontainer yang berjalan pada instance itu perlu menjalankan Linux.

Sekarang Docker menggunakan libcontainer daripada LXC sebagai dasarnya, ada kemungkinan bahwa porting libcontainer di masa mendatang suatu hari nanti dapat memungkinkan untuk menjalankan wadah Docker Windows dan Mac OS pada sistem tersebut masing-masing, tetapi itu akan tergantung pada fitur OS yang sesuai yang tersedia untuk memungkinkan kontainerisasi.

Menjalankan VM OSX dalam wadah Docker dimungkinkan. Lihatlah https://github.com/Cleafy/sxkdvm misalnya.

Jika Anda ingin menjalankan macOS langsung di dalam Docker, Jawabannya adalah tidak, lihat @phoebus jawaban.

Jika Anda benar-benar membutuhkannya, lihat @ Andrea Brancaleon jawaban yang menyarankan untuk menginstal macOS di dalam VM di dalam Docker.

Tetapi jika Anda bertanya-tanya apakah solusi di atas dimungkinkan menurut lisensi macOS, daripada jawabannya lagi tidak*.

Mengutip perjanjian lisensi perangkat lunak untuk macOS Catalina, bagian 2, titik 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 Softwarewithin virtual operating system environments on each Mac Computer you own or control that isalready running the Apple Software, for purposes of: (a) software development; (b) testing duringsoftware development; (c) using macOS Server; or (d) personal, non-commercial use.

Ini sama untuk versi macOS yang lebih lama.


* kecuali Anda akan menjalankan macOS di dalam mesin virtual di dalam wadah Docker Linux di dalam mesin virtual Linux pada sistem host macOS pada perangkat keras Mac

Kemungkinan duplikat dari How can I run a full OS in a Docker container, without specifying a command? - Server Fault