web-dev-qa-db-ja.com

Mac OS XはDocker内で実行できますか?

Mac OS XはDocker内で実行できますか?もしそうなら、方法について何か提案はありますか?

そして、それはヘッドレスで実行されますか、それともGUIにリモートで接続する可能性がありますか?

おかげで、

シモーネ

105
simone

Dockerは、OSレベルのコンテナーを管理するためのメソッドを提供し、OSレベルのコンテナー化のためのLinuxのネイティブ機能の上に構築されています。システムで実行されているすべてのコンテナは同じカーネルを共有します。 Mac OS XはLinuxカーネルではなくmachカーネルを使用しないため、現時点ではDockerコンテナー内で実行できません。

仮想マシンを使用してDocker on Macを実行できますが、そのインスタンスで実行されているコンテナはLinuxを実行する必要があります。

DockerがLXCではなくlibcontainerをベースとして使用するようになったので、将来的にlibcontainerの移植により、これらのシステムでそれぞれWindowsおよびMac OS Dockerコンテナーを実行できるようになる可能性がありますが、適切なOS機能に依存します。コンテナ化を可能にします。

59
phoebus

OSXを実行するVM Dockerコンテナで実行できます。たとえば https://github.com/Cleafy/sxkdvm を見てください。

30

Docker内で直接macOSを実行する場合、答えはnoです。@ phoebusの answer を参照してください。

本当に必要な場合は、@ Andrea Brancaleonの answer を参照してください。VM Docker内にmacOSをインストールすることをお勧めします。

しかし、macOSのライセンスに従って上記の解決策が可能かどうか疑問に思っている場合は、答えは再びno *です。

引用 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バージョンでも同じです。


* Mac OS上のLinux仮想マシン内のLinux Dockerコンテナ内の仮想マシン内でmacOSを実行する場合を除き、Macハードウェア上のMacOSホストシステム

4
cubuspl42