Windowsで「WSL2+Ubuntu」を使ってDocker環境構築

シェアしてね〜🤞

この記事ではWindowsでWSL2とUbuntuを使って、Docker環境を構築する方法を解説します。

無事に環境構築が完了してDockerをインストールできれば、Windowsの環境を壊すことなく PHPをインストールしたり、PHP代表的なフレームワークであるLaravelなど起動したりすることができます。

余談ですがLaravelではDockerを利用した、Sailという機能があり、MySQLやRedisなどの複数のミドルウェア追加し、Laravelとシームレスに連携することができます。 また、Sailはメールサーバーの構築やLaravel環境のセットアップ・起動がとても簡単になるので、開発者にとっては大変便利なツールです。

尚、Macユーザの場合の環境構築はこちらをご参照ください。

Windowsユーザの場合は、Dockerの起動方法とLaravelの構築方法は上のMacユーザ向けと同じなのですが、 その前の環境構築が少し複雑であるため、つまづきがちです。

そこで今回はWindowsユーザ向けの環境構築について解説していきます。

Laravelについては、Laravel9.xの超入門シリーズとしてこちらにまとめていますので、ご参照ください。

今回の対象環境は以下の通りです。

  • Windows11
  • PHP 8.1.13
  • Laravel9

環境構築

手順は下記のとおりです。

  1. Ubuntuをダウンロード
  2. コントロールパネルから「Linux用Windowsサブシステム」と「仮想マシンプラットフォーム」にチェックを入れる
  3. x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージをダウンロード
  4. ダウンロードしたデータをインストール
  5. Ubuntuを開いてユーザ名とパスワードを入力
  6. Docker Desktopをダウンロード
  7. Docker Desktopの初期設定
  8. Windows Powershellでlinux環境を起動

以下順番に解説します。

1.Ubuntuをダウンロード

まずはUbuntuをダウンロードします。

【laravel9-sail-docker-windows】①ubuntuダウンロード

Microsoft Storeで「ubuntu」と検索し、Ubuntuをダウンロードします。 ※今回はUbuntu20.04.5 LTSをダウンロードしました。

2.コントロールパネルから「Linux用Windowsサブシステム」と「仮想マシンプラットフォーム」にチェックを入れる

次にコントロールパネル→プログラム→Windowsの機能の有効化または無効化、の順番に進みます。 【laravel9-sail-docker-windows】②-1コントロールパネルのプログラム

「Windowsの機能の有効化または無効化」の画面で、「Linux用Windowsサブシステム」と「仮想マシンプラットフォーム」にチェックを入れ、OKをクリックします。 【laravel9-sail-docker-windows】②-3【チェック】linux用Windowsサブシステム

【laravel9-sail-docker-windows】②-4【チェック】仮想マシンプラットフォーム

設定変更後、再起動する必要があるのでいったん再起動を行います。

【laravel9-sail-docker-windows】②-5コントロールパネル変更後

3.x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージをダウンロード

次にこちらにアクセスしてx64 マシン用 WSL2 Linux カーネル更新プログラム パッケージをクリックしてダウンロードします。

【laravel9-sail-docker-windows】③-1ubuntuカーネル

4.ダウンロードしたデータをインストール

次に3.でダウンロードしたデータをインストールします。 ダウンロードしたデータを実行してNext→Finishの順番に進みます。

【laravel9-sail-docker-windows】③-2ubuntuカーネル初期設定1

【laravel9-sail-docker-windows】③-3ubuntuカーネル初期設定2

5.Ubuntuを開いてユーザ名とパスワードを入力

次にUbuntuを開いて、Ubuntu上で使うユーザ名とパスワードを入力します。 操作によってはこのユーザ名とパスワードの入力を求められることがあるので、必ずメモしておきましょう。

パスワードを設定する際は、パスワードを入力しても表示されませんのでご注意ください。 表示されていないだけで、入力はできているので、間違いなく確実に入力するようにしてください。

6.Docker Desktopをダウンロード

次にhttps://www.docker.com/products/docker-desktop にアクセスしてDocker Desktopをダウンロードします。

【laravel9-sail-docker-windows】⑤-1docker

ダウンロードしたデータを実行し初期設定を行います。 ショートカットをデスクトップに作るために「Add shortcut to desktop」にチェックを入れてOkをクリックします。

【laravel9-sail-docker-windows】⑤-2dockerインストール1

インストール後に再起動を行うとインストールが完了します。

【laravel9-sail-docker-windows】⑤-3dockerインストール2

7.Docker Desktopの初期設定

次にデスクトップに作成したショートカットからDocker Desktopを起動します。

ホーム画面右上の歯車のマークをクリックし、設定画面に進みます。

【laravel9-sail-docker-windows】⑤-4docker home

下の画像の①Resources→②WSL Integrationの順に進みます。 ③「Enable integration with my default WSL distro」にチェックを入れます。 ④「Ubuntu-20.04」左のボタンをクリックしてonの状態にします。

【laravel9-sail-docker-windows】⑤-5docker setting

⑤「Apply & restart」をクリックし、再起動してDocker Desktopの初期設定は完了です。

8.Windows Powershellでlinux環境を起動

次にlinux環境を起動します。

Windowsボタン→検索するには、ここに入力しますをクリックして、「powershell」と入力するとWindows PowerShellアプリが表示され、それをクリックします。

【laravel9-sail-docker-windows】⑧-1linux環境を起動

上の画像のように「wsl -d Ubuntu-20.04」と入力してエンターキーを押します。

laravel9-sail-docker-windows -2linux

新たに表示された行の文字が緑色と青色になれば起動できている状態です。

LaravelのSailを使ってDocker起動確認

Dockerが起動することを確認するため、Dockerfileを作成して起動してもいいのですが、 せっかくなので冒頭に説明した、「PHPのフレームワークであるLaravel」をインストールして起動してみましょう。 LaravelにはSailというツールがあり、これを使って様々なDockerコンテナを起動することができます。

結構簡単に複数コンテナ起動できます。

具体的なインストール起動方法はこちらで解説していますのでご参照ください。

DB接続

DB接続はこちらで解説していますのでご参照ください。

よく使うコマンドまとめ

よく使うコマンドまとめはこちらで解説していますのでご参照ください。

Windowsを使っていて環境構築がうまくいかず困っている方は、参考にして構築してみてください!

シェアしてね〜🤞