聞いたことがない場合に備えて、コンテナは素敵です。これらは、ホスト システムに関係なく、信頼性が高く保証された展開を実現するための優れたクリーンな方法です。
自分の ASP.NET Core アプリケーションを実行したい場合は、コマンド ラインで「docker run -p 5000:80 shanselman/demos」と入力するだけで起動します!動かなくなる心配はありません。走ります、よく走ります。
一部のコンテナー否定論者は、確かに、仮想マシンで同じことを行うことができると言っていますが、今日でも、VHD (仮想ハード ドライブ) はかなり手に負えないものであり、コンテナーにはない大量のオーバーヘッドが含まれています。コンテナが登場しており、展開のためにそれらを注意深く検討する必要があります。
ただし、これまで Windows では、Linux コンテナーは Hyper-V 仮想マシン内で実行されていました。これは、目標が何であるかに応じて、良いことにも悪いことにもなり得ます。 VM 内でコンテナを実行すると、ある程度のオーバーヘッドで大幅に分離されます。これはサーバーには適していますが、ラップトップにはあまり適していません。 Docker for Windows はほとんどの部分で VM を非表示にしますが、VM はそこにあります。コンテナーは、Windows 上の Hyper-V 内で実行される Linux VM 内で実行されます。
最新バージョンの Windows 10 (または 10 Server) と Docker for Windows のベータ版では、Windows でネイティブの Linux コンテナーがサポートされています。つまり、必要な場合を除き、仮想マシンや Hyper-V は関与しないため、Linux コンテナーは、Windows 10 の組み込みコンテナー サポートを使用して Windows 自体で実行されます。
今のところ、Hyper V とネイティブ コンテナーの間で「モード」を切り替える必要があり、(まだ) Linux と Windows コンテナーを並べて実行することはできません。巷では、これはある時点のことであり、Docker はある時点で Linux と Windows コンテナーの並行実行をサポートするということです。あらゆる種類のクールなハイブリッド シナリオが開かれるので、これは非常に素晴らしいことです。 Redis または Postgres を実行している Linux コンテナーと通信する .NET Framework ASP.NET アプリを使用して、Windows Server コンテナーを実行できます。たとえば、それらすべてを Azure の Kubernetes に入れることができます。
Docker 内で Windows 上の Linux コンテナーをオンにすると、すべてが正常に機能し、可動部分が 1 つ少なくなります。
busybox または実際の Ubuntu を簡単かつ迅速に実行できます (ただし、Windows 10 は既に Ubuntu を WSL でネイティブにサポートしています):
さらに便利なのは、インストールせずに Azure コマンド ラインを実行することです! 「docker run -it microsoft/azure-cli」だけで、Linux コンテナーで実行されます。
ニャンキャットも走れる! (ありがとう、トーマス!)
docker run -it supertest2014/nyan
推測 - "minikube start --vm-driver="windows" (または何か) を実行し、Hyper-V 仮想マシンを使用するのではなく、Windows ネイティブの Linux コンテナー サポートを使用して、Kubernetes 開発システムをローカルで簡単にセットアップできる日を楽しみにしています。
スポンサー: データベースのバージョン管理を見逃すのはなぜですか? SQL ソース管理は、アプリケーションに使用するのと同じバージョン管理ツールにデータベースを接続するため、思ったより簡単です。方法を見つけます。