tra-loi-cau-hoi-phat-trien-web.com

Mac OS X có thể chạy trong Docker không?

Mac OS X có thể chạy trong Docker không? Nếu vậy, bất kỳ đề nghị như thế nào?

Và nó sẽ chạy không đầu, hoặc sẽ có khả năng kết nối với GUI từ xa?

Cảm ơn,

Simone

105
simone

Docker cung cấp các phương thức để quản lý các thùng chứa ở cấp độ hệ điều hành và được xây dựng dựa trên các tính năng gốc của Linux để cung cấp cho cấp độ hệ điều hành. Tất cả các container chạy trên một hệ thống chia sẻ cùng một kernel; Mac OS X không sử dụng kernel Linux, mà là kernel mach, vì vậy nó không thể chạy bên trong container Docker tại thời điểm này.

Bạn có thể chạy Docker bật máy Mac của bạn bằng máy ảo, nhưng các thùng chứa chạy trong trường hợp đó sẽ cần chạy Linux.

Bây giờ Docker sử dụng libcontainer thay vì LXC làm cơ sở, có thể việc chuyển libcontainer trong tương lai một ngày nào đó có thể cho phép chạy các container Docker của Windows và Mac OS trên các hệ thống đó, nhưng nó sẽ phụ thuộc vào các tính năng OS phù hợp có sẵn cho phép container.

59
phoebus

Chạy OSX VM trong bộ chứa Docker là có thể. Hãy xem https://github.com/Cleafy/sxkdvm chẳng hạn.

30
Andrea Brancaleoni

Nếu bạn muốn chạy macOS trực tiếp bên trong Docker, câu trả lời là không , xem @ phoebus's answer .

Nếu bạn thực sự cần nó, hãy xem @Andrea Brancaleon's answer gợi ý cài đặt macOS bên trong VM bên trong Docker.

Nhưng nếu bạn đang tự hỏi liệu giải pháp trên có khả thi theo giấy phép của macOS hay không, thì câu trả lời lại là không * .

Trích dẫn thỏa thuận cấp phép phần mềm cho macOS Catalina , phần 2, điểm 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.

Nó giống với các phiên bản macOS cũ hơn.


* trừ khi bạn sẽ chạy macOS bên trong máy ảo bên trong thùng chứa Linux Docker bên trong máy ảo Linux trên hệ thống máy chủ macOS trên phần cứng Mac

4
cubuspl42