2016-09-15 7 views

答えて

5

Dockerは実際にはフルOSを実行していません。したがって、ホストOSが使用するカーネルとは異なるカーネルを実行することはできません。 Macでは、Dockerは実際には仮想化されたLinux環境内で実行されるため、そのホスト環境はLinuxです。さらに、私が理解する限り、Dockerは基本的な操作のためにLinux固有の機能に依存しています。したがって、ホスト環境としてMacを使用することはできません。

Dockerイメージとして真のBSDを実行する方法がないということは、DockerのBSDイメージが存在しない理由です。

+5

FreeBSDの場合と同様のもの(別のユーザー空間を1つのカーネルで実行する)が必要な場合は、[Jails](https://www.freebsd.org/doc/handbook/jails.html) 。 – cynic

+3

DockerはLinux固有の機能を[OCIランタイム仕様](https://github.com/opencontainers/runtime-spec)に頼って抽象化しています。 Windowsは現在、DockerがWindowsコンテナを実行できるOCI実装を備えています。 OCIは、Linuxに組み込まれたコンテナ機能に大きく依存しています。 – Matt

+2

また、[FreeBSDホスト](https://wiki.freebsd.org/Docker)で[FreeBSDイメージ](https://hub.docker.com/r/lexaguskov/freebsd/)を実行することも技術的に可能ですがFreeBSDのLinux ABI互換レイヤーを最初に利用してこの種の不正行為を防ぎます。 – Matt

関連する問題