web-dev-qa-db-ja.com

Docker:WindowsでLinuxコンテナーを使用する理由

Win 10 Pro N(バージョン1709)を開発マシンとして使用し、Windows Server 2016 Standard(バージョン1607)を運用サーバーとして使用しています。

現在、データベースとしてMongoDbを使用するASP.NET Core 2アプリケーションを開発しています。

数日前、MongoDbをDockerイメージとして実行するというアイデアに最初に出会った。

今のところDockerの経験はありませんが、Linuxコンテナー(デフォルト)からWindowsコンテナーに切り替えることができましたWindowsマシン上

これは良い決断でしたか?または、私のシナリオでWindowsコンテナの代わりにLinuxコンテナを使用する必要がある理由はありますか?

何Linuxサーバーにアプリケーションをデプロイすることに決めた場合、どうすればよいですか?この場合、最初からLinuxコンテナーを使用する方が賢明でしょうか?

18
Ingmar

Linuxにデプロイする場合は、Linuxコンテナを使用することをお勧めします。より類似したセットアップをテストし、最終的なデプロイメントでも表示される問題を見つける可能性が高いためです。

それ以外は、LinuxコンテナテクノロジーはWindowsコンテナよりも成熟しており、より適切にサポートされています。

11
herm

Dockerは仮想化についてではなく、分離についてです。

WindowsコンテナーはWindowsホストで実行されます

LinuxコンテナはLinuxホストで実行されます

その後、一部の人々はWindows上でLinuxコンテナを実行したかった

  • 最初に、コンテナを実行するためにWindows上でLinux VMを作成する必要がありました
  • LinuxKitを使用してコンテナを実行できるようになりましたが、それでも軽いVMです

その後、一部の人々はLinux上でWindowsコンテナを実行したかった

  • 最初に、コンテナを実行するためにLinuxでWindows VMを作成する必要がありました
  • これで、今日からは何も使用できなくなります

したがって、最善の策は、運用サーバーを対象としたコンテナから始めることです

33
Mumrah81