Windows 10PCにHyper-VまたはWSLバックエンドを使用してDockerをインストールして実行するための完全なガイド
Dockerは、開発者がコンテナーを使用してアプリケーションをすばやく作成、デプロイ、実行できるようにするツールです。コンテナ化の概念は、アプリケーション、その依存関係、および構成がすべて、コンテナと呼ばれる単一のファイルにパックされるアプローチです。
コンテナは仮想マシンに似ていますが、OS全体とそのすべてのサービスを実行する代わりに、コンテナとしてパックされたソフトウェアに必要な最小限の動作しか実行せず、ほとんどの場合ホストOSに依存します。これらのコンテナーは、完全な仮想マシンを実行するよりもパフォーマンスが高く、ホストOS環境から分離されています。
この記事では、Dockerをインストールし、Hyper-VとWSLがWindows10でコンテナーを実行できるようにする方法を見ていきましょう。
前提条件
Hyper-Vバックエンドを使用するには1703アップデート以降(ビルド15063以降)のWindows 10 64ビットPro、Enterprise、またはEducationエディション、WSLバックエンドには2004アップデート以降(ビルド19041以降)のWindows 1064ビット版が必要です。 。これとは別に、仮想化をサポートし、最低4GBのRAMを搭載した最新の64ビットプロセッサが必要です。
上記の要件に加えて、BIOSで仮想化サポートを有効にする必要があります。仮想化がすでに有効になっているかどうかを確認するには、タスクマネージャーを開き、[パフォーマンス]タブに移動します。
仮想化が「無効」と表示されている場合は、BIOS設定で仮想化を有効にする必要があります。お使いのマザーボードとCPUによって、仮想化を有効にする手順は異なります。
Intelプロセッサの場合、BIOSでIntel Virtualization Technology(VT-x)と呼ばれる設定を有効にします。同様に、AMDプロセッサの場合、BIOSでSVMモードと呼ばれる設定を有効にします。 CPUのそれぞれの設定については、マザーボードのマニュアルを参照してください。
Wingetを介してDockerをインストールする
DockerはWingetリポジトリで利用できるため、簡単なコマンドを使用してインストールできます。お持ちでない場合 winget
ツールがインストールされていて、それについて詳しく知りたい場合は、Wingetパッケージマネージャーのインストール方法に関するガイドを確認してください。
Wingetリポジトリで利用可能なDockerの安定版をインストールします。 PowerShellまたはCMDを開き、次のコマンドを実行してインストールします。
winget install -e --id Docker.DockerDesktop
UACプロンプトで変更を行う許可を求められたら、[はい]をクリックしてDockerデスクトップのインストールを続行します。間もなくDockerがシステムにインストールされます。
ただし、Dockerはまだ実行できません。実行する前に、Windows 10でHyper-VまたはWSLを有効にする必要があります。そうしないと、Dockerがエラーをスローして起動しません。 これについては、ガイドの後半で説明します。
Dockerを手動でダウンロードしてインストールする
Dockerを手動でインストールする場合は、Dockerデスクトップのダウンロードページに移動し、[Windows用にダウンロード(安定版)]ボタンをクリックしてインストーラーファイルをダウンロードします。
次に、ダウンロードフォルダに移動し、「Dockerデスクトップインストーラ」セットアップファイルをダブルクリックして、インストールプロセスを開始します。
セットアッププロセスで構成ウィンドウが表示されます。 Windows 10Homeエディションを使用している場合またはDockerのWSL2バックエンドを使用する場合は[WSL2 Windows機能を有効にする]にチェックマークを付け、Dockerデスクトップショートカットが必要な場合は[デスクトップにショートカットを追加]にチェックマークを付け、[OK]を押してインストールを開始します。
Docker Desktopのセットアップがファイルの解凍とインストールを完了したら、[閉じて再起動]ボタンをクリックして、Dockerのインストールプロセスを完了します。
Hyper-VまたはWSLを有効にしますか?
あとは、Windows 10のエディションとバージョンに応じて、Hyper-VまたはWSLを有効にするだけです。
- Windows 10 Pro、Enterprise&Educationエディション 1703 更新以降: 2004 アップデート以降は、Hyper-Vバックエンドのみを使用できます。
- Windows 10Homeエディション 2004 アップデート以降:HomeエディションではHyper-V機能を使用できないため、WSLのみを有効にできます。
- Windows 10 Pro、Enterprise&Educationエディション 2004 更新以降:Hyper-VとWSLの両方を有効にして、Dockerで使用できます。
Hyper-Vを有効にする
Hyper-Vは、仮想マシンの作成と実行に使用できるWindows10のネイティブハイパーバイザーです。 Dockerは、コンテナーを実行するためのメインバックエンドとしてWSLを使用することを計画しているため、Hyper-VはWindows10でコンテナーを実行するためのレガシーオプションになるための道を進んでいます。
ただし、DockerネイティブWindowsコンテナーを実行する場合は、Hyper-Vが必要です。したがって、Hyper-Vを有効にするには、PowerShellを管理者として開き、次のコマンドを実行します。
Enable-WindowsOptionalFeature -Online -FeatureName $( "Microsoft-Hyper-V"、 "Containers")-All
PowerShellにより、コンピューターを再起動してHyper-Vのインストールを完了するように求められます。Yと入力し、Enterキーを押して同じ操作を行います。コンピューターを再起動した後、Dockerデスクトップを実行してコンテナーを使用できます。
WSLを有効にする
Linux用Windowsサブシステム(WSL)は、ユーザーがWindows 10でネイティブにLinuxアプリケーションを実行できるようにする互換性レイヤーです。DockerWSLバックエンドを使用すると、ユーザーはHyper-VエミュレーションなしでWindows上でネイティブLinuxDockerコンテナーを実行できます。
最新のWindows10 2004アップデートを使用している場合は、Hyper-Vバックエンドよりもパフォーマンスが優れているため、DockerバックエンドとしてWSLを使用することをお勧めします。 HomeエディションにはHyper-V機能がないため、Windows 10 Homeエディションのユーザーには、Docker用のWSLバックエンドを使用する以外の選択肢はありません。
ノート:セットアップで[WSL 2 Windows機能を有効にする]にチェックマークを付けている場合、DockerセットアップでWSLが自動的に有効になるため、このコマンドをスキップできます。以下の「WSLの更新」セクションに移動して、プロセスを続行します。
管理者としてPowerShellを開き、次のコマンドを実行して、Windows10のWSLおよび「仮想マシンプラットフォーム」WSLコンポーネントを有効にします。
Enable-WindowsOptionalFeature -Online -FeatureName $( "VirtualMachinePlatform"、 "Microsoft-Windows-Subsystem-Linux")
「Y」を押してEnterキーを押すと、コンピューターが再起動してプロセスが完了します。
WSLを更新する
Dockerのインストールを完了してシステムを再起動した後、Dockerデスクトップを実行すると、次のようなエラーが表示されます。
このリンクをクリックするか、エラー内のリンクをクリックして、最新のWSL2カーネルアップデートが記載されたMicrosoftDocsページに移動します。次に、以下に示すページの「最新のWSL2 Linuxカーネルをダウンロードする」リンクをクリックして、「wsl_update_x64」セットアップファイルをダウンロードします。
上記の手順でダウンロードしたセットアップファイルをダブルクリックし、許可を求められたら「はい」を押します。
WSL for Windows 10を有効にして更新したら、Dockerを実行して[スタート]メニューでWSLを検索できます。
Hyper-VとWSLバックエンドを切り替えます
Hyper-VとWSLの両方を有効にしている場合は、両方のバックエンドを使用し、それらを切り替えて、ネイティブのWindowsコンテナーまたはLinuxコンテナーのいずれかを使用できます。
Dockerシステムトレイアイコンに移動して右クリックし、[Windowsコンテナに切り替える]オプションを選択して、Hyper-Vバックエンドに切り替えます。同様に、[Linuxコンテナに切り替える]オプションを選択すると、WSLバックエンドに切り替えることができます。
Dockerのインストールを確認する
システムトレイの白いクジラは、Dockerが実行されていることを示しています。ただし、PowerShellまたはCMDを開いて次のように入力することで、Dockerのインストールをテストすることもできます。 docker --version
PS C:\ Users \ ATH> docker --version Dockerバージョン19.03.8、ビルドafacb8b
次に、hello-worldイメージをプルし、実行してコンテナーを実行してみます docker runhello-world
PowerShellまたはCMDのコマンド:
PS C:\ Users \ ATH> docker runhello-worldローカルで最新のイメージ 'hello-world:latest'が見つかりません:ライブラリからプル/ hello-world 0e03bdcc26d7:プル完了ダイジェスト:sha256:6a65f928fb91fcfbc963f7aa6d57c8eeb426ad9a20c7ee045538ef34847f44 -world:最新のDockerからのこんにちは!このメッセージは、インストールが正しく機能しているように見えることを示しています。
このメッセージは、Dockerのインストールが成功し、イメージをプルしてコンテナーを作成する準備ができていることを示しています。