作業の開始:コンテナー用の Windows を準備する

適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows 10/11

このチュートリアルでは、以下の方法について説明します。

前提条件

Windows 10 および 11

Windows 10 または 11 でコンテナーを実行するには、以下のものが必要です。

  • Anniversary Update (バージョン 1607) 以降を適用した Windows 10 または 11 Professional または Enterprise を実行する 1 台の物理コンピューター システム。
  • Hyper-V を有効にする必要があります。

注意

Windows 10 October Update 2018 以降、Microsoft では、開発またはテスト用として、Windows 10 Enterprise または Professional のプロセス分離モードで Windows コンテナーを実行することをユーザーに許可するようになりました。 詳細については、FAQ に関するページを参照してください。

Windows Server コンテナーでは、運用環境で使用されるのと同じカーネル バージョンと構成を開発者に提供するため、既定で Windows 10 および 11 上の Hyper-V による分離が使用されます。 Hyper-V による分離の詳細については、「分離モード」を参照してください。

Windows Server

開発環境では、Windows Server コンテナーを実行するには、Windows Server を実行する物理サーバーまたは仮想マシンが必要です。

テスト用として、Windows Server 2022 評価版または Windows Server Insider Preview のコピーをダウンロードできます。

コンテナー対応の Azure VM

多くのアプリケーションとオーケストレーション パラダイムでは、独自のカスタム VM を構築してデプロイする必要があります。 Windows コンテナー ランタイムのサポートが Mirantis に移行されたため、マーケットプレース VM オファリングでコンテナー ランタイムが提供されなくなりました。 このガイドの残りの部分では、コンテナー ランタイムがインストールされ、準備が整った Azure 用 VM を構築する方法について詳しく説明します。

Azure は、クラウドとオンプレミスの両方で、Azure Kubernetes Service を通じて、完全かつフル マネージドのエンド ツー エンドのエクスペリエンスを提供し続けます。 AKS と AKS-HCI は、カスタム デプロイで使用したサービスよりも管理オーバーヘッドが低いフル マネージド サービスです。 コンテナー ランタイムのサポートは、Azure サブスクリプションの AKS サービスと AKS-HCI サービスに含まれています。

次のオプションを検討するときに留意すべき 3 つの点があります。 どの側面を最適化するかは、組織次第です。

  1. 実装はどのくらい複雑ですか?
  2. コストは何ですか?
  3. 運用環境のワークロードにどのような影響がありますか?

これらの方法はそれぞれ、コンテナー対応の Azure VM を可能な限りスムーズに構築するためのオプションとして提供されています。 次のサブセクションでは、各オプションの開始方法と共に、長所と短所を詳しく説明します。

Azure Image Builder

Image Builder を使用する利点は、構成がビルド時に行われ、実行時にワークロードに影響を与えない点です。VM スケール セットによってカスタム イメージから新しい VM がインスタンス化されるときに、イメージは既に準備されているため、ここで時間を費やす必要はなく、すぐにコンテナーを実行する準備が整います。

ただし、Azure Image Builder は実装が複雑になる可能性があり、スクリプト拡張機能よりも多くの手順が必要になります。 さらに、Image Builder サービスは無料ですが、ビルド プロセスに関連付けられているコンピューティング、ストレージ、ネットワークの使用状況を管理する必要があります (詳細については、こちらをご覧ください)

独自の Windows Server VM イメージの構築を開始するために、プロセスを段階的に詳しく説明するガイドを作成しました。 以下に示す PowerShell スクリプトは、このガイドと共に利用して、選択したコンテナー ランタイムをインストールできます。

ヒント

VM でローカルに使用する予定のコンテナー イメージを必ずキャッシュしてください。 これにより、デプロイ後のコンテナーの起動時間が短縮されます。 以下のスクリプトは、これを行うのに役立ちます。

カスタム スクリプト拡張機能

カスタム スクリプト拡張機能はより迅速に実装でき、コストは Azure または GitHub にスクリプトを格納するためのわずかな価格のみです。 ただし、このスクリプトを実行できるのは、VM がプロビジョニングされた後のみなので、スケールアウト時に VM を適切に準備するために費やされる追加の時間を予算に入れる必要があります。

以下に示すスクリプトを使用して、プロビジョニング時に任意のコンテナー ランタイムをインストールするように VM スケール セットを構成できます。 カスタム スクリプト拡張機能を設定する方法については、こちらのガイドに従ってください

コンテナー ランタイムをインストールする

Windows 10 および 11

以下の手順を使用して、Windows 10 または 11 Professional エディションおよび Enterprise エディションに Docker をインストールできます。

  1. Docker Desktop をダウンロードしてインストールし、まだ持っていない場合は Docker アカウントを作成します。 個人または小規模企業ユーザー向けの無料の Docker アカウントを作成できます。ただし、大規模な企業の場合は月額料金が発生します。 詳細については、Docker のマニュアルを参照してください。

  2. インストール時に、既定のコンテナーの種類を Windows コンテナーに設定します。 切り替えをインストール完了後に行うには、次に示すように Windows システム トレイの Docker 項目を使用するか、PowerShell プロンプトで次のコマンドを使用します。

    & $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon .
    

    [Switch to Windows containers]\(Windows コンテナーに切り替え\) コマンドが表示されている Docker システム トレイ メニュー

Windows Admin Center

Windows Admin Center を使用して、Windows Server マシンをコンテナー ホストとして適切にセットアップできます。 まず、Windows Admin Center インスタンスに最新の Containers 拡張機能がインストールされていることを確認します。 拡張機能をインストールして構成する方法の詳細については、Windows Admin Center のドキュメントを参照してください。 Containers 拡張機能がインストールされている状態で、構成する Windows Server マシンをターゲットにし、[Containers] オプションを選択します。

Docker をインストールする

[インストール] ボタンをクリックします。 Windows Admin Center で、Windows Server と Docker の構成がバックグラウンドで開始されます。 プロセスが完了したら、ページを更新して、Containers 拡張機能の他の機能を確認できます。

コンテナー イメージ

Windows Server

Windows コンテナーを実行するには、お使いのマシンでサポートされているコンテナー ランタイムが使用できる必要があります。 Windows で現在サポートされているランタイムは、containerdMobyMirantis Container Runtime です。

このセクションでは、Windows の特定のコピーにそれぞれをインストールするプロセスについて詳しく説明します。これには、わずか数ステップで各ランタイムを簡単にインストールできる一連の PowerShell スクリプトが含まれます。

Docker Community Edition (CE) では、共通の API とコマンド ライン インターフェイス (CLI) を使用して、コンテナーの標準ランタイム環境が提供されます。 これは、Moby Project の一環として、オープン ソース コミュニティによって管理されています。

Windows Server で Docker を使い始めるために、コンテナー関連の OS 機能を有効にして Docker ランタイムをインストールするように環境を構成する PowerShell スクリプトを作成しました。

Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1
.\install-docker-ce.ps1

構成の詳細については、「Windows 上の Docker エンジン」を参照してください。

次のステップ

Note

このガイドをお読みになり、Windows コンテナー製品チームからの追加のガイダンスが必要な場合は、github/Windows-Containers からチームにご連絡いただけます。ここには、製品チームの予定表でチャットする時間についての情報が見つかります。

環境が正しく構成されたので、次のリンクを使用してコンテナーの実行方法を確認してください。