Windows への Docker Desktop のインストール

Docker Desktop 契約条項

より大きなエンタープライズ向け(従業員 250 名以上、あるいは年間収益 1 千万 US ドル以上)に Docker Desktop を商用利用する場合は、 有償サブスクリプション が必要です。

このページでは Docker Desktop for Windows をインストールするための、ダウンロード情報、システム要件、インストール手順について説明します。

チェックサムについては リリースノート を参照してください。

システム要件

情報

Hyper-V または WSL を使うべきか?

Docker Desktop は WSL 上でも Hyper-V 上でも、アーキテクチャーに関係なく同様に機能します。 Hyper-V と WSL にはそれぞれに利点と欠点があり、それは設定内容や利用形態により変化します。


  • WSL バージョン 1.1.3.0 またはそれ以降。
  • Windows 11 64 ビット: Home または Pro バージョン 22H2 またはそれ以降。 あるいは Enterprise または Education バージョン 22H2 またはそれ以降。
  • Windows 10 64-bit: 最低でも Home または Pro 22H2 (ビルド 19045) またはそれ以降。 あるいは Enterprise または Education 22H2 (ビルド 19045) またはそれ以降。
  • Windows 上での WSL 2 機能を有効化すること。 詳しい手順については Microsoft のドキュメント を参照してください。
  • Windows 10 または Windows 11 上の WSL 2 を正常動作させるためには、以下のハードウェア要件が必要。
    • 第 2 レベルのアドレス変換 (Second Level Address Translation; SLAT) に対応した 64 ビットプロセッサー。
    • 4GB システム RAM
    • BIOS におけるハードウェア仮想機能の有効化。 詳しくは 仮想化 を参照してください。

Docker Desktop を用いる際の WSL 2 の設定に関する詳細は WSL を参照してください。

メモ

Docker がサポートする Docker Desktop on Windows は、Windows バージョンが Microsoft のサービスタイムライン に含まれているもののみです。 Docker Desktop は Windows Server 2019 や Windows Server 2022 といったサーバーバージョンに対してはサポートされていません。 Windows Server 上においてコンテナーを実行する方法については Microsoftの公式ドキュメント を参照してください。

重要

Windows コンテナーを実行する場合は、Windows 10 または Windows 11 の Professional または Enterprise エディションが必要です。 Windows Home または Education エディションでは Linux コンテナーしか動作させることはできません。

  • Windows 11 64 ビット: Home または Pro バージョン 22H2 またはそれ以降。 あるいは Enterprise または Education バージョン 22H2 またはそれ以降。

  • Windows 10 64 ビット: 最低でも Home または Pro 22H2 (ビルド 19045) またはそれ以降。 あるいは Enterprise または Education 22H2 (ビルド 19045) またはそれ以降。

  • Windows 上での Hyper-V およびコンテナーウィンドウ機能を有効化すること。

  • Windows 10 上のクライアント Hyper-V を正常動作させるためには、以下のハードウェア要件が必要。

    • 第 2 レベルのアドレス変換 (Second Level Address Translation; SLAT) に対応した 64 ビットプロセッサー。
    • 4GB システム RAM
    • BIOS におけるハードウェア仮想機能の有効化。 For more information, see 詳しくは 仮想化 を参照してください。

メモ

Docker がサポートする Docker Desktop on Windows は、Windows バージョンが Microsoft のサービスタイムライン に含まれているもののみです。 Docker Desktop は Windows Server 2019 や Windows Server 2022 といったサーバーバージョンに対してはサポートされていません。 Windows Server 上においてコンテナーを実行する方法については Microsoftの公式ドキュメント を参照してください。

重要

Windows コンテナーを実行する場合は、Windows 10 または Windows 11 の Professional または Enterprise エディションが必要です。 Windows Home または Education エディションでは Linux コンテナーしか動作させることはできません。

  • WSL バージョン 1.1.3.0 またはそれ以降。
  • Windows 11 64 ビット: Home または Pro バージョン 22H2 またはそれ以降。 あるいは Enterprise または Education バージョン 22H2 またはそれ以降。
  • Windows 10 64 ビット: 最低でも Home または Pro 22H2 (ビルド 19045) またはそれ以降。 あるいは Enterprise または Education 22H2 (ビルド 19045) またはそれ以降。
  • Windows 上での WSL 2 機能を有効化すること。 詳しい手順については Microsoft のドキュメント を参照してください。
  • Windows 10 または Windows 11 上の WSL 2 を正常動作させるためには、以下のハードウェア要件が必要。
    • 第 2 レベルのアドレス変換 (Second Level Address Translation; SLAT) に対応した 64 ビットプロセッサー。
    • 4GB システム RAM
    • BIOS におけるハードウェア仮想機能の有効化。 詳しくは 仮想化 を参照してください。

重要

Windows コンテナーはサポートされていません。


Docker Desktop を使って生成されたコンテナーやイメージは、Docker Desktop がインストールされているマシン上であれば、全ユーザーアカウントが共有できます。 これは Windows アカウントが同一の VM を使って、コンテナーのビルドや実行を行うからです。 ただし Docker Desktop WSL 2 バックエンドを利用している場合は、ユーザーアカウント間でコンテナーやイメージは共有できません。

Docker Desktop を VMware ESXi あるいは Azure VM において動作させるのは、Docker Business 購入者に対してサポートされています。 これを利用するには、まずハイパーバイザー内においてネスト化仮想環境を有効にする必要があります。 詳しくは VM または VDI 環境での Docker Desktop の実行 を参照してください。

Docker Desktop メニューから、Docker CLI が通信を行うデーモンがどちら (Linux または Windows) であるのかを切り替えることができます。 Switch to Windows containers (Windows コンテナーへの切り替え) を実行すると Windows コンテナーを選ぶことができます。 または Switch to Linux containers (Linux コンテナーへの切り替え) を実行すると Linux コンテナーを選ぶことができます (デフォルト)。

Windows コンテナーの詳細については以下のドキュメントを参照してください。

メモ

Windows コンテナーへの切り替えを行った場合、Settings (設定) においては Windows コンテナーに対してアクティブで適用可能なタブのみが表示されます。

Windows コンテナーモードにおいてプロキシーやデーモンの設定を行った場合、その設定は Windows コンテナーに対してのみ適用されます。 Linux コンテナーへ切り替えた場合、プロキシーやデーモンに関する設定は、それまで Linux コンテナーに対して設定されていた状態に戻ります。 再び Windows コンテナーに切り替えたら、Windows コンテナー用の設定に戻り再利用できるようになります。

Windows への Docker Desktop のインストール

情報

管理者権限がなくても Docker Desktop のインストールと実行を行う方法については FAQ を参照してください。

対話的なインストール

  1. ページ最上部にあるダウンロードボタンをクリックしてインストーラーをダウンロードするか、あるいは リリースノート ページからダウンロードします。

  2. Docker Desktop Installer.exe をダブルクリックしてインストーラーを起動します。 デフォルトで Docker は C:\Program Files\Docker\Docker にインストールされます。

  3. プロンプト画面が表示されたら、バックエンドでの選択状況に従って Configuration ページにおける Use WSL 2 instead of Hyper-V オプションのオンオフが設定されていることを確認してください。

    利用するシステムが 2 つのオプションの 1 つのみをサポートしている場合は、バックエンドにおいて選択することはできません。

  4. インストールウィザードの手順に従ってインストーラーを承認して、インストールを完了させます。

  5. インストールが正常に行われたら Close をクリックして作業を終了します。

  6. Docker Desktop の起動 を行います。

利用しているユーザーアカウントが管理アカウントではない場合、docker-users グループにユーザーを追加する必要があります。

  1. administrator (管理者) 権限により Computer Management (コンピューター管理) を開きます。
  2. Local Users and Groups > Groups > docker-users を順に開きます。
  3. 右クリックによってユーザーをそのグループに追加します。
  4. 設定変更を有効にするため、いったんサインアウトした上で再度サインインします。

コマンドラインからのインストール

Docker Desktop Installer.exe をダウンロードしたら、端末から以下のコマンドを実行して Docker Desktop をインストールします。

$ "Docker Desktop Installer.exe" install

PowerShell を利用している場合は以下を実行します。

Start-Process 'Docker Desktop Installer.exe' -Wait install

Windows コマンドプロンプトの利用時は以下を実行します。

start /w "" "Docker Desktop Installer.exe" install

デフォルトで Docker Desktop は C:\Program Files\Docker\Docker にインストールされます。

install コマンドでは以下のフラグ指定が可能です。

  • --quiet: インストーラーの起動時に情報出力を省略します。

  • --accept-license: Docker サブスクリプションサービス契約 をここで受け入れます。これを行わない場合は、アプリケーションの初回起動時に行うことになります。

  • --no-windows-containers: Windows コンテナー統合機能を無効にします。

  • --allowed-org=<組織名>: アプリケーションの実行にあたっては、ユーザーがサインインしていることを要求し、指定された Docker Hub 組織のメンバーであることを要求します。

  • --backend=<バックエンド名>: Docker Desktop が利用するデフォルトのバックエンドを指定します。hyper-vwindowswsl-2 (デフォルト) のいずれか。

  • --installation-dir=<パス>: デフォルトのインストール先 (C:\Program Files\Docker\Docker) を変更します。

  • --admin-settings: admin が利用する admin-settings.json ファイルを自動生成します。 これは組織内にあるクライアントマシン上の Docker Desktop における特定設定項目を制御するものです。 詳しくは 設定管理 を参照してください。

    • これは --allowed-org=<組織名> フラグとともに用いなければなりません。
    • たとえば以下のとおりです。--allowed-org=<org name> --admin-settings="{'configurationFileVersion': 2, 'enhancedContainerIsolation': {'value': true, 'locked': false}}"
  • --proxy-http-mode=<mode>: HTTP プロキシーモードを設定します。system (デフォルト) または manual です。

  • --override-proxy-http=<URL>: HTTP リクエストに対して用いられる HTTP プロキシーの URL を設定します。 --proxy-http-modemanual に設定しておく必要があります。

  • --override-proxy-https=<URL>: HTTPS リクエストに対して用いられる HTTP プロキシーの URL を設定します。 --proxy-http-modemanual に設定しておく必要があります。

  • --override-proxy-exclude=<hosts/domains>: ホストとドメインに対するプロキシー設定をバイパスします。 カンマ区切りのリストとして指定します。

  • --proxy-enable-kerberosntlm: Kerberos と NTLM プロキシー認証を有効にします。 これを有効にすると Kerberos/NTLM 認証への設定がプロキシーサーバーに対して適切に設定されます。 Docker Desktop 4.32 またはそれ以降において利用可能です。

  • --hyper-v-default-data-root=<パス>: Hyper-V VM ディスクのデフォルトパスを指定します。

  • --windows-containers-default-data-root=<パス>: Windows コンテナーのデフォルトパスを指定します。

  • --wsl-default-data-root=<path>: WSL 配布ディスクのデフォルトパスを指定します。

  • --always-run-service: インストール完了後に com.docker.service を起動し、このサービスの起動タイプを Automatic (自動) に設定します。 これによって管理者権限がなくても稼働できるようになります。 これがなかった場合 com.docker.service の起動には管理者権限が必要です。 com.docker.service は Windows コンテナーと Hyper-V バックエンドのために必要となります。

メモ

PoserShell を利用する場合は、フラグの指定に先駆けて ArgumentList パラメーターを指定する必要があります。 たとえば以下のとおりです。

Start-Process 'Docker Desktop Installer.exe' -Wait -ArgumentList 'install', '--accept-license'

ユーザーアカウントが管理者アカウントと異なる場合は、ユーザーを docker-users グループに追加することが必要です。

$ net localgroup docker-users <user> /add

Docker Desktop の起動

インストール直後の Docker Desktop は、自動的には起動されません。 Docker Desktop を起動するには、以下を実行します。

  1. Docker を検索し、検索結果の中から Docker Desktop を選択します。

  2. Docker メニュー ( クジラメニュー ) には、Docker Subscription Service Agreement(サブスクリプションサービス契約)画面が表示されます。

    以下にキーポイントを示します。

    • Docker Desktop は小規模ビジネス (従業員 250 名未満かつ年間収益 1 千万 US ドル未満) 向け、個人利用、教育目的、非商用のオープンソースプロジェクト向けは無償利用可能です。
    • それ以外はプロフェッショナル向けとしてサブスクリプション購入が必要です。
    • サブスクリプション購入は政府機関に対しても必要です。
    • Docker Pro、Team、Business の各サブスクリプションでは Docker Desktop の商用利用が可能です。
  3. Accept を選びます。 契約条項を受け入れれば Docker Desktop が起動します。

    契約条項への同意がなければ Docker Desktop を起動させることはできません。 後日 Docker Desktop を開いたときに、改めて契約条項に同意することができます。

    詳しくは Docker Desktop サブスクリプションサービス契約 を参照してください。 FAQ を読むこともお勧めします。

情報

IT 管理者としては、エンドポイント管理 (MDM) ソフトウェアを使えば、環境内の Docker Desktop インスタンスとそのバージョンを識別できるようになります。 この機能によって正確なライセンス情報を得ることができ、Docker Desktop の最新バージョンを常に利用できるようになります。 また 強制的なサインイン の機能もあります。

次に読むものは