web-dev-qa-db-ja.com

Docker for WindowsとDocker for Windowsの違いは何ですか?

Windows上のDocker は、Windows Server 2016に組み込まれる予定のようです? Dockerコンテナー内でWindowsを実行し、WindowsをDockerコンテナーのホストとして使用することをサポートします。これはLinuxをサポートしていますか?私はそうは思わない、それはWindows Dockerコンテナーの実行のみをサポートすると思います。これもマイクロソフトによって維持されているようです。

Windows用Docker は、Linux DockerをWindowsに導入するためにDockerチームによって作成された個別のインストールのようです。したがって、WindowsをDockerホストにすることができますが、すべてのコンテナーは通常のLinuxコンテナーにすぎません。これはWindowsコンテナーをサポートしていますか?私はそうは思わない、それはLinux Dockerコンテナーの実行のみをサポートすると思います。これもDockerによって維持されているようです。

もう1つの興味深いメモは、 Docker Tools for Visual StudioDocker Desktop for Windowsのみをサポートし、Windows上のDocker

私が本当に探しているのは、2つの間の明確な違い、ある種の良い比較です。それぞれが達成しようとしている機能、どこが似ているか、どこが違うか。彼らはいつも違うのか、それとも一緒になるのか?

21
Aaron Stainback

Windows上のDockerは単にWindows上で実行されるDocker Engineを指す口語的な方法です。これをWindowsコンテナホストと考えるとわかりやすいので、はいWindowsコンテナのみです。これは、Windows Server 2016マシンで実行するものです。したがって、おそらくより良い名前はDocker for Windows Serverですが、これも同様に使用されていると思います。私はまだWindows Container Hostを好みます。つまり、1日の終わりにはDocker Engineのみがあり、Dockerクライアント(docker CLI、docker-composeなど)は必要ありません。

Windows用DockerデスクトップWindows上のLinuxおよびWindowsコンテナーの両方を実行するための製品です。それは本番環境ではないであり、代わりにWindowsのデスクトップ/クライアントSKU、つまりWindows 10の要件に対応しています。したがって、これをWindows 10のDockerと考えることができます。DfWは両方のコンテナータイプを実行できるため、マシン上で設定する構成は異なります。

  • Linuxコンテナーを使用する場合、DfWはHyper-Vを備えたMobyLinuxVMを作成し、その中でWindows 10ホストで実行されているかのように、透過的にLinuxコンテナーを実行します。
  • Windowsコンテナーを使用する場合、DfWはWindowsにDockerと同じコンポーネントをインストールして、Windowsコンテナーホストを用意します。これで、Windows Dockerエンジンがセットアップされました。これにより、Win 10クライアントSKUでWindowsコンテナーを実行できます。

理論的には、Windows ServerにDfWをインストールできますが、試していないので、これが失敗するかどうかはわかりませんが、本番環境のWindowsホストでLinuxコンテナーを実行する理由は何ですか?本番環境では、Linuxコンテナーを実行するLinuxコンテナーホストと、Windowsコンテナーを実行するWindowsコンテナーホストを使用することで、オーバーヘッドを回避し、物事を簡素化します。

9
Wes