DockerをWindowsにインストールする(Docker Desktop for Windows + WSL2)

Webアプリの開発環境構築はDockerを利用すると便利です。少し前までWindows 10 HomeではDocker Desktop for Windowsを利用することはできませんでしたが、WSL2バックエンドの登場でWindows 10 HomeでもDockerを利用することができるようになりました。ここでは開発環境の構築のためにDocker Desktop for Windows のインストールとWSL2バックエンドの設定方法を解説します。そんなに難しくありません。

この記事のゴール
  • Windows上にDocker環境を構築できる
  • DockerをWSL2を利用して動かせる(WSL2バックエンド)

事前準備

Docker Desktop for Windowsをインストールする前にあらかじめWSL2のセットアップを済ませておきます。WSL2のインストールに関しては以下の記事に手順を載せています。

事前準備が終わったらDockerのインストールに移ります。

Docker Desktop for Windowsのダウンロードとインストール

Dockerの公式サイトから”Get Started” -> “Download for Windows” とリンクをたどりDocker Desktop for Windowsのインストールパッケージをダウンロードします。

インストールパッケージのダウンロードが完了したらダブルクリックしてインストールを実行します。

Docker Desktop for Windowsのインストール画面

WSL2バックエンドの設定

Docker Desktop for Windowsのインストールが完了したらWSL2バックエンドの設定を行います。

スタートメニューからDocker Desktopを起動し、Setting -> Generalを選択します。

Settingを選択
Generalを選択

Use the WSL2 based engineのチェックボックスを選択し、チェックをONにします。(Windows 10 Homeの場合、WSL2バックエンドの利用が前提条件となっているためすでにチェック済みとなっています。)

Use the WSL2 based engineにチェックを入れる

Apply&Restartをクリックして設定を反映します。(Docker Desktop for Windowsが再起動します。)

Docker Desktopが再起動したら、Setting -> General -> Resource -> WSL Integrationを選択し、DockerでアクセスしたいLinuxディストリビューションを選択します。「Enable integration with my default WSL distro」にチェックが入っている場合、WSLのデフォルトのLinuxディストリビューションが有効化されます。デフォルト以外のディストリビューションにもDockerからアクセスしたい場合はディストリビューション毎に有効化/無効化を設定できます。

有効化したいLinuxディストリビューションのスイッチをONにする

Apply & Restartをクリックして設定完了です。

WSL2バックエンドを有効化するとどうなるの?

WSL2バックエンドを有効化しない場合、Docker DesktopはHyper-Vで構築された仮想環境上で各コンテナを起動します。一方、WSL2バックエンドを有効化した場合、Docker DesktopはWindows用にビルドされたLinuxカーネルを利用し、エミュレーションではなくネイティブにLinuxコンテナを実行できるようになります。これによりCPUやメモリといったリソースの消費が改善し、Docker自体(Dockerデーモン)の起動も高速になります。

以上です。ではまた!