開発環境

Docker-Laravel が遅い Windows 開発環境を Ubuntu で改善・高速化する方法

Windows上のDocker-Laravel開発環境が遅い場合の対応方法

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 をインストールします。

  1. スタートメニューをクリックして Microsoft Store を起動します。
  2. 検索窓に “ubuntu” と入力して検索します。
  3. “Ubuntu 22.04.2 LTS” を選択して [インストール] をクリックします。
  4. Windows スタートメニューから “Ubuntu 22.04.02 LTS” をクリックして起動します。
  5. 初回起動時は “Enter new UNIX username:” と表示されますので Ubuntu で使用するユーザー名を入力します(例. “user”)。
  6. 続けて “New password:” “Retype new password:” と表示されますのでパスワードを2回続けて入力します。

Docker Desktop for Windows 設定

Docker Desktop for Windows を設定します。

  1. Docker Desktop for Windows を起動します。
  2. [Setting] > [Resources] > [WSL Integration] に移動します。
  3. [Enable integration with additional distros:] で “Ubuntu-22.04” を ON にします。
  4. [Apply & restart] をクリックします。

Docker-Laravel プロジェクトファイル移動

Ubuntu を使って Docker を管理し Laravel プロジェクトを高速化するには、Docker-Laravel プロジェクトファイルを Ubuntu のディレクトリ配下に移動する必要があります。

  1. エクスプローラーを起動します。
  2. アドレスバーに “\\wsl$” と入力し [Enter] を押します。
  3. “Ubuntu-22.04” をダブルクリックして開きます。
  4. “home” > (Ubuntu のユーザー名) を開き、その下のディレクトリに Docker-Laravel プロジェクトファイルを移動します。

Ubuntu 操作

Windows から Ubuntu を起動すると \\wsl$\Ubuntu-22.04\home\(Ubuntu ユーザー名) がカレントディレクトリとして起動しますので、そこから Docker や Git を操作します。

  1. Windows スタートメニューから [Ubuntu-22.04] を起動します。
  2. “ls” コマンドでディレクトリを確認します。
  3. “cd” コマンドで Docker-Laravel プロジェクトディレクトリまで移動します。
  4. “docker-compose up -d” で Docker を起動します。
  5. ブラウザから動作確認します。

Git 操作

Ubuntu から Git も操作することができますが、Github から clone などする際に毎回認証を聞かれる場合には、WSL – Ubuntu に Git Credential Manager をセットアップする必要があります。

※参考サイト https://learn.microsoft.com/ja-jp/windows/wsl/tutorials/wsl-git

  1. こちら https://github.com/microsoft/Git-Credential-Manager-for-Windows#download-and-install のページの Download and Install latest installer をクリックします。
  2. GCMW-{version}.exe のファイルを選択してダウンロードしインストールします。
  3. 上記の参考サイトのページに従って Git Credential Manager のセットアップを行います。

【補足】Git Clone した後にすること

Docker および Laravel プロジェクトファイルの全ファイルを git clone すると vendor ディレクトリがない等で Laravel が起動しません。
以下の処理をすることで起動するようになります。

※参考サイト https://qiita.com/waonn/items/43298d66f7cc59c64a2d

  1. Ubuntu から “docker-compose exec php bash” で PHP コンテナに入ります。
  2. “cd laravel” で Laravel ディレクトリに移動します。
  3. “composer install” コマンドで vendor ディレクトリを追加します(composer.lock ファイルがない場合には “composer update” コマンドを入力します)。
  4. “.env.sample” ファイルをコピーして “.env” ファイルを作成します。
  5. “php artisan key:generate” コマンドでアプリケーションキーを作成します。

新しいSNSを開発しませんか?

SNS開発18年で2つのSNSを開発・運用中の当社が、あなたのアイデアを形にするお手伝いをします。詳しくはこちら >>

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です