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

適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016

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

前提条件

Windows Server

Windows Server でコンテナーを実行するには、Windows Server 2022、Windows Server (半期チャネル)、Windows Server 2019、または Windows Server 2016 を実行している物理サーバーまたは仮想マシンが必要です。

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

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 による分離の詳細については、「分離モード」を参照してください。

Docker のインストール

注意

2021 年 9 月末に、Microsoft によって Windows コンテナー ランタイム サポートの更新が発表され、DockerMsftProvider API 用の Docker EE のビルドが生成されなくなったことがお客様に通知されました。 Windows サーバーにコンテナー ランタイムをインストールする必要があるお客様は、containerdMoby、または Mirantis Container Runtime に移行することが推奨されます。 2022 年 9 月までに、これらのインストール ドキュメントは更新され、Microsoft によって推奨されるインストール プロセスが反映されます。

最初の手順は、Windows コンテナーを操作するために必要な Docker をインストールすることです。 Docker では、共通の API とコマンド ライン インターフェイス (CLI) を使用して、コンテナーの標準ランタイム環境が提供されます。

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

Windows Server に Docker をインストールするには、Microsoft によって発行された DockerMicrosoftProvider という OneGet プロバイダー PowerShell モジュールを利用できます。 このプロバイダーにより、Windows でコンテナー機能が有効になり、Docker のエンジンとクライアントがインストールされます。 以下にその方法を示します。

  1. 管理者特権で PowerShell セッションを開き、PowerShell ギャラリーから Docker-Microsoft PackageManagement Provider をインストールします。

    Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
    

    NuGet プロバイダーのインストールを求めるメッセージが表示されたら、「Y」と入力して同様にインストールします。

    PowerShell ギャラリーを開くのにエラーが発生した場合は、PowerShell スクリプトによって使用される TLS バージョンを TLS 1.2 に設定する必要がある可能性があります。 そのためには、次のコマンドを実行します。

    # Set the TLS version used by the PowerShell client to TLS 1.2.
    [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;
    
  2. PackageManagement PowerShell モジュールを使用して、最新バージョンの Docker をインストールします。

    Install-Package -Name docker -ProviderName DockerMsftProvider
    

    PowerShell でパッケージ ソース "DockerDefault" を信頼するかどうかの確認を求められたら、「A」と入力してインストールを続行します。

  3. インストールが完了したら、コンピューターを再起動します。

    Restart-Computer -Force
    

後で Docker を更新する場合は、次のことを行います。

  1. 次のコマンドを使ってインストール済みバージョンを確認します:
    Get-Package -Name Docker -ProviderName DockerMsftProvider
    
  2. 次のコマンドを使って現在のバージョンを確認します:
    Find-Package -Name Docker -ProviderName DockerMsftProvider
    
  3. アップグレードの準備ができたら、次のコマンドを実行します:
    Install-Package -Name Docker -ProviderName DockerMsftProvider -Update -Force
    
  4. 最後に、次のコマンドを実行して Docker を起動します:
    Start-Service Docker
    

次の手順

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