Blog ブログ
2022.01.13

【開発お役立ち情報】Windows10でのWSL2+Dockerによる開発環境構築 ~前編~

お役立ち情報

【はじめに】
開発環境を構築する時、いちいちWebサーバやPHPやDBをインストールして、設定して…などとPCごとに実施するのは面倒だと思いませんか?
Dockerを用いて環境を作ってしまえば、別のPCに移ったとしても、定義ファイルさえ持ってきてしまえば同じ環境を一発で構築可能です。

今回はWindows上でDockerを用いたPHP開発環境の作成例を解説いたします。
ただし、必要最低限の環境となっていますので、その先はご自身で拡張して行ってみてください。

今回、前提として以下の環境を想定しています。
OS:Windows 10 バージョン 2004 以降 (ビルド 19041 以降) または Windows 11

【WSL2とDocker Desktopインストール】
Dockerを使用する前に、WindowsでDockerを使用できるように環境を整えます。
まず、「Windowsの機能の有効化または無効化」から「仮想マシンプラットフォーム」「Linux用Windowsサブシステム」にチェックを入れておいてください。
では、WSL2のインストールです。PowerShellを管理者モードで起動してください。

そして、次のコマンドを実行します。
$ wsl --set-default-version 2
これでWSL2を標準で使用する設定となります。

続いてインストールです。次のコマンドを実行します。
$ wsl --install -d Ubuntu
WSLのインストールが始まり、自動的にUbuntuのインストールまで行われます。
もしUbuntuがインストールされなかったり、他のディストリビューションを使用したい場合は、ストアから自分でインストールを行ってください。

WSL2のインストールが終わったら、Docker Desktopのインストールに移ります。
公式サイト(https://www.docker.com/products/docker-desktop)を開き、「Download for Windows」を押下しインストーラを入手します。
ダウンロードしたインストーラを実行し、画面の指示に従ってインストールを完了してください。
インストール完了後、Docker for Desktopの設定を開き「Use the WSL2 based engine」にチェックが入っているか確認します。
入っていなければチェックをしてください。

【Dockerコンテナ作成と起動】
WSL2とDockerの準備が整いましたので、コンテナの作成と起動を行います。
まずUbuntuを起動し、ディレクトリを作っておきましょう。

Docker定義は~/php-laravel/へ設置します。次のコマンドでディレクトリを作成してください。
$ mkdir ~/php-laravel
ソースは~/src/へ設置します。次のコマンドでディレクトリを作成してください。
$ mkdir ~/src
また、このディレクトリへWindows側からアクセスする際は、エクスプローラから$wsl\Ubuntu\home\[ユーザ名]\src\ と指定すればアクセス可能です。

今回は上記のようにディレクトリを設定しましたが、好みに合わせて変更してください。
ただし、Windows側とWSL2側でのファイルやり取りは遅いため、コード類はWSL2側に設置することを推奨します。

構成図

コンテナの定義、Laravelのインストールと動作確認までについては、
後編に続きます!