web-dev-qa-db-ja.com

DockerはまだmacOS(10.13)High SierraでVirtualBoxを使用していますか?

Docker CE v18.06.0-ce-mac70(26399)を使用しています。コンテナーを実行するためにVirtualBoxはまだ必要ですか? VirtualBoxをアンインストールしてもDockerは実行されますか?

enter image description here

4
user674669

良い質問。混乱しているようです ドキュメントに基づく

Docker for Macは Hypervisor.framework の上に構築された軽量のmacOS仮想化ソリューションである HyperKit を使用します。

しかしそれから述べる:

現在、HyperKitにはdocker-machine createドライバーがないため、virtualboxドライバーを使用してローカルマシンを作成します。 ( Oracle VirtualBoxのDockerマシンドライバー を参照してください。)同じシステムでHyperKitとOracle VirtualBoxの両方を実行できます。詳細については、「 Mac用DockerとDocker Toolboxの比較 」を参照してください。

したがって、docker-machine createに関心がない場合は、VirtualBoxがインストールされていなくてもDocker CEを使用できます。しかし、私に尋ねると、ある時点でコンテナーをいじっているときにひっかかる可能性があるようです。そのため、最善の策は、VirtualBoxをインストールしたままにすることです。

私の個人的な最高のアドバイスは、VirtualBoxを使いたくない場合は、とりあえずそれを捨てて、Docker CEで望むように実行することです。また、上記のdocker-machine createアイテムなどのコマンドウォールにぶつかった場合は、VirtualBoxをインストールして、macOSでDockerを使用するための「入場料」として受け入れます。

5
JakeGould

これが問題の簡単な更新です: https://docs.docker.com/docker-for-mac/docker-toolbox/ の公式ドキュメントによると:

Docker Desktop for Macは、Virtual Boxの代わりにHyperKitを使用します。 Hyperkitは、macOS 10.10 Yosemite以降のHypervisor.frameworkの上に構築された軽量のmacOS仮想化ソリューションです。

ただし、次のような大きな制限があります。

また、Docker Desktop for Macはトラフィックをコンテナーにルーティングできないため、ホスティングマシンから実行中のコンテナーで公開されているポートに直接アクセスできないことに注意してください。

マルチノードスウォームをテストする場合など、複数のVMが必要な場合は、Docker Desktop for Macの範囲外で動作するDocker Machineを引き続き使用できます。 Docker ToolboxとDocker Desktop for Macの共存をご覧ください。

そのため、HyperkitはmacOSのネイティブ仮想化に最も近く、VirtualBoxベースのDocker環境よりもオーバーヘッドが少ない可能性がありますが、ネットワーク上にコンテナーを公開する機能もありません。

個人的には、Macベースのサーバーを実行する人はほとんどいないので、これは大したことではないと思います。実行するとき、グラフィカルユーザーインターフェイスがショーのストッパーであってはなりません。 Docker Toolboxは引き続きVirtualboxを使用し、ネットワーク上で必要なものを実行するためのコマンドラインインターフェイスを提供します。

1
Michael