Laravel開発では、通常ローカルマシンにPHP、Composer、Laravelインストーラーなどをインストールして環境を構築します。
しかし、Dockerを活用すれば、これらをローカルに一切インストールせずに、Laravelプロジェクトの作成と実行が可能です。
本記事では、その具体的な手順と、ローカル非依存型の開発環境がもたらす実践的メリットについて解説します。
1. DockerでLaravelプロジェクトの初期セットアップ
1-1. Laravelプロジェクトの作成(Composer)
docker run -it --rm \
--user "$(id -u):$(id -g)" \
-v "$(pwd):/app" \
-w /app \
laravelsail/php84-composer:latest \
composer create-project laravel/laravel my-app
このコマンドにより、現在のディレクトリに my-app
フォルダが作成され、Laravelの初期ファイルが生成されます。
1-2. プロジェクトディレクトリへ移動
cd my-app
2. Laravel Sailの導入と開発サーバの起動
2-1. Laravel Sail のインストール(Docker 経由)
docker run -it --rm \
--user "$(id -u):$(id -g)" \
-v "$(pwd):/app" \
-w /app \
-e COMPOSER_HOME=/tmp/composer \
laravelsail/php84-composer:latest \
php artisan sail:install
2-2. 開発サーバの起動
./vendor/bin/sail up -d
これにより、Laravelプロジェクトの開発環境がバックグラウンドで起動します。
初回起動時にはDockerイメージのダウンロードとビルドが行われるため、数分かかる場合があります。
3. 開発環境の初期設定(おまけ)
Docker上のLaravel開発環境をより実用的に整備するための初期設定です。
3-1. .envファイルの確認・初期設定
APP_NAME=Laravel
APP_URL=http://localhost
3-2. セッションテーブルのマイグレーション作成と実行
./vendor/bin/sail artisan session:table
./vendor/bin/sail artisan migrate
3-3. アプリケーションキーの生成
./vendor/bin/sail artisan key:generate
3-4. 最初のページをブラウザで確認
http://localhost
4. DockerによるLaravel開発のメリット
Dockerを活用することで、以下のような利点が得られます。
- ローカル環境のクリーン化
開発用の依存パッケージをホストOSに直接インストールしないため、他プロジェクトとの競合を回避できます。 -
本番環境との整合性
Dockerで同一環境を構築することで、本番やCIと同様の設定で開発が可能になります。 -
PHPバージョンの柔軟な切り替え
PHP 8.1、8.2、8.3などの異なるバージョンのDockerイメージを利用することで、容易に切り替えられます。 -
チーム間の環境統一
コンテナを使用することで、OSの違いに依存せず、同一の手順で開発環境を再現可能です。 -
セキュリティリスクの低減
ホストマシンにPHPやWebサーバを直接インストールしないため、常駐サービスや脆弱性の混入を抑制できます。
5. まとめ
DockerベースでLaravel開発環境を構築する手法は、可搬性・分離性・再現性のいずれにも優れています。
特にチーム開発やCI/CDとの統合においては、環境の一貫性を維持しながら柔軟な開発体制を実現できる点が大きなメリットです。