Docker for Windows Server and Image2Docker

12 月には、Windows Server Docker コンテナーに焦点を当てたライブ ウェビナーを開催しました 。私たちは多くの分野をカバーし、参加したすべての人々のおかげで、いくつかの素晴らしいフィードバックを得ました。これはセッションの簡単な要約であり、私たちがラウンドしなかった質問への回答も提供します。

ウェビナーの録画

ウェビナーは YouTube でご覧いただけます。

録音は1時間弱でクロックインします。 これが私たちがカバーしたことです:

  • 00:00 概要
  • 02:00 Docker on Windows Server 2016
  • 05:30 Windows Server 2016 の技術的な詳細
  • 10:30 Hyper-V および Windows Server Container
  • 13:00 Docker for Windows Demo – ASP.NET Core app with SQL Server
  • 25:30 Docker, Inc. とマイクロソフト間の追加のパートナーシップ
  • 27:30 Image2Docker の概要
  • 30:00 デモ – Image2Docker を使用して VM から ASP.NET アプリを抽出する
  • 52:00 Windows で Docker を学習するための次のステップとリソース

質疑応答

これらの [Windows] コンテナーを Linux ホストでホストできますか。

いいえ。Docker コンテナーは、基になるオペレーティング システム カーネルを使用してプロセスを実行するため、カーネルを混在させることはできません。 Windows Docker イメージは Windows でのみ実行でき、Linux Docker イメージは Linux でのみ実行できます。

ただし、Windows ネットワーク スタックの今後のリリースでは、ハイブリッド Docker Swarm (Linux ホストと Windows ホストが混在する単一のクラスター) を実行できるようになります。 その後、Docker のネットワーク レイヤーを使用して、同じ Docker Swarm で通信する Linux コンテナーと Windows コンテナーで分散アプリを実行できます。

これは ASP.NET コアアプリ専用ですか?

いいえ。 ほとんどすべての Windows アプリケーションを Docker イメージにパッケージ化できます (UI なしでインストールして実行できる場合)。

ウェビナーの最初のデモでは、Docker で実行されている ASP.NET Core アプリを示しました。 .NET Core の利点は、クロスプラットフォームであるため、同じアプリを Linux または Windows コンテナーで実行でき、Windows では軽量の Nano Server オプションを使用できることです。

2 番目のデモでは、Docker で実行されている ASP.NET つの WebForms と ASP.NET MVC アプリを示しました。 完全な .NET Framework アプリでは、Windows Server Core 基本イメージを使用する必要がありますが、Windows Server 2016 の機能セット全体にアクセスできます。

VM で実行されている既存の ASP.NET アプリケーションがある場合は、Image2Docker ツールを使用してそれらを Docker イメージに移植できます。Image2Docker は、Server 2003 から Server 2016 まで、あらゆる Windows Server VM で動作します。

イメージ2ドッカー

ライセンスはどのように機能しますか?

運用環境の場合、ライセンスはホスト レベル、つまり Docker を実行している各マシンまたは VM で行われます。 ホスト上の Windows ライセンスにより、そのホスト上で任意の数の Windows Docker コンテナーを実行できます。 Windows Server 2016 では、マイクロソフトと Docker, Inc. のサポートを受けて、ライセンス コストに含まれる商用サポートバージョンの Docker を利用できます。

開発のために、Docker for Windows は Windows 10 上で実行され、無料のオープンソース ソフトウェアです。 Docker for Windows では、マシン上で Linux VM を実行することもできるため、開発では Linux コンテナーと Windows コンテナーの両方を使用できます。 サーバー バージョンと同様に、Windows 10 ライセンスでは、任意の数の Windows Docker コンテナーを実行できます。

Windows 管理者は、イメージとコンテナーを管理するための統合プラットフォームを必要とします。 これは、個別にライセンスされている Dockerデータセンターであり、まもなくWindowsで利用できるようになります。

コンテナーの Windows 更新プログラムについてはどうでしょうか。

Docker コンテナーのライフ サイクルは、完全な VM やベアメタル サーバーとは異なります。 実行中のコンテナー内にアプリの更新プログラムや Windows 更新プログラムを展開するのではなく、アプリをパッケージ化するイメージを更新し、コンテナーを強制終了して、更新されたイメージから新しいコンテナーを開始します。

Microsoftは、Docker Hub上の2つのWindowsベースイメージ(Windows Server CoreNano Server用)でこのワークフローをサポートしています。彼らは毎月のリリースサイクルに従っており、リリースごとに新しいパッチとセキュリティアップデートを含む増分アップデートが追加されています。

独自のアプリケーションの場合は、Windows 基本イメージの新しいリリース後に、アプリケーション イメージを再構築し、新しいコンテナーを展開するという、同じ展開スケジュールを目指します。 これらはすべて自動化できるため、手動のパッチ適用よりもはるかに高速で信頼性があります。 ドッカーキャプテンStefan Scherer は、Windows コンテナーを最新の状態に保つための優れたブログ投稿を提供しています

関連資料