Windows 上で Docker-Laravel 開発環境を立ち上げる場合、Docker Desktop for Windows のみインストールして立ち上げることができますが、その場合、Windows と Linux のファイルシステムを変換しながらの動作となるため、動作が非常に遅くなってしまいます。この問題を解決するために、Docker 公式サイトの以下のドキュメントにあるように Linux ディストリビューションの Ubuntu をインストールし、Ubuntu を経由して Docker-Laravel を動作させることで Docker-Laravel は常に Linux ファイルシステム上で動作するため(ファイル変換が不要で)高速処理を実現することができます。また Ubuntu から直接 Git を操作することも可能になるため UI がシンプルにまとまるというメリットもあります。
本記事では Docker Desktop for Windows の動作が遅いとお悩みの方に向けて、上記の環境の構築方法をご紹介いたします。
※参考サイト https://docs.docker.com/desktop/windows/wsl/#download
Ubuntu インストール
Ubuntu の LTS バージョンである 22.04 をインストールします。
- スタートメニューをクリックして Microsoft Store を起動します。
- 検索窓に “ubuntu” と入力して検索します。
- “Ubuntu 22.04.2 LTS” を選択して [インストール] をクリックします。
- Windows スタートメニューから “Ubuntu 22.04.02 LTS” をクリックして起動します。
- 初回起動時は “Enter new UNIX username:” と表示されますので Ubuntu で使用するユーザー名を入力します(例. “user”)。
- 続けて “New password:” “Retype new password:” と表示されますのでパスワードを2回続けて入力します。
Docker Desktop for Windows 設定
Docker Desktop for Windows を設定します。
- Docker Desktop for Windows を起動します。
- [Setting] > [Resources] > [WSL Integration] に移動します。
- [Enable integration with additional distros:] で “Ubuntu-22.04” を ON にします。
- [Apply & restart] をクリックします。
Docker-Laravel プロジェクトファイル移動
Ubuntu を使って Docker を管理し Laravel プロジェクトを高速化するには、Docker-Laravel プロジェクトファイルを Ubuntu のディレクトリ配下に移動する必要があります。
- エクスプローラーを起動します。
- アドレスバーに “\\wsl$” と入力し [Enter] を押します。
- “Ubuntu-22.04” をダブルクリックして開きます。
- “home” > (Ubuntu のユーザー名) を開き、その下のディレクトリに Docker-Laravel プロジェクトファイルを移動します。
Ubuntu 操作
Windows から Ubuntu を起動すると \\wsl$\Ubuntu-22.04\home\(Ubuntu ユーザー名) がカレントディレクトリとして起動しますので、そこから Docker や Git を操作します。
- Windows スタートメニューから [Ubuntu-22.04] を起動します。
- “ls” コマンドでディレクトリを確認します。
- “cd” コマンドで Docker-Laravel プロジェクトディレクトリまで移動します。
- “docker-compose up -d” で Docker を起動します。
- ブラウザから動作確認します。
Git 操作
Ubuntu から Git も操作することができますが、Github から clone などする際に毎回認証を聞かれる場合には、WSL – Ubuntu に Git Credential Manager をセットアップする必要があります。
※参考サイト https://learn.microsoft.com/ja-jp/windows/wsl/tutorials/wsl-git
- こちら https://github.com/microsoft/Git-Credential-Manager-for-Windows#download-and-install のページの
Download and Install
のlatest installer
をクリックします。 GCMW-{version}.exe
のファイルを選択してダウンロードしインストールします。- 上記の参考サイトのページに従って Git Credential Manager のセットアップを行います。
【補足】Git Clone した後にすること
Docker および Laravel プロジェクトファイルの全ファイルを git clone すると vendor ディレクトリがない等で Laravel が起動しません。
以下の処理をすることで起動するようになります。
※参考サイト https://qiita.com/waonn/items/43298d66f7cc59c64a2d
- Ubuntu から “docker-compose exec php bash” で PHP コンテナに入ります。
- “cd laravel” で Laravel ディレクトリに移動します。
- “composer install” コマンドで vendor ディレクトリを追加します(composer.lock ファイルがない場合には “composer update” コマンドを入力します)。
- “.env.sample” ファイルをコピーして “.env” ファイルを作成します。
- “php artisan key:generate” コマンドでアプリケーションキーを作成します。
SNS開発18年で2つのSNSを開発・運用中の当社が、あなたのアイデアを形にするお手伝いをします。