Docker CE v18.06.0-ce-mac70(26399)を使用しています。コンテナーを実行するためにVirtualBoxはまだ必要ですか? VirtualBoxをアンインストールしてもDockerは実行されますか?
良い質問。混乱しているようです ドキュメントに基づく :
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を使用するための「入場料」として受け入れます。
これが問題の簡単な更新です: 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を使用し、ネットワーク上で必要なものを実行するためのコマンドラインインターフェイスを提供します。