2026.02.26【コピペで完了】DockerでLaravel開発環境を構築する最短ルートTECH BLOG

  • HOME
  • TECH BLOG
  • 【コピペで完了】DockerでLaravel開発環境を構築する最短ルート

PHPやComposerをローカルPCに直接インストールして、環境を汚したくない…。そんな悩みはDockerで解決しましょう!

この記事では、Docker Desktopを使って、Laravel(PHP) + Nginx + MySQL の標準的な開発環境をゼロから構築する手順を、コピペだけで進められるように解説します。


1. フォルダ構成の準備

まず、プロジェクトのルートとなるフォルダ(例:my-laravel-app)を作成し、その中に以下のファイルを用意します。Laravel本体は後ほどコマンドで生成するため、今は空でOKです。

my-laravel-app/
├── docker-compose.yml
├── docker/
│   └── php/
│       └── Dockerfile
└── (ここにLaravelのファイル一式が入る)

2. 設定ファイルの作成(コピペOK)

① docker-compose.yml

複数のコンテナをまとめて管理するための設計図です。プロジェクトのルートに配置します。

version: '3.8'
services:
  # PHP & Laravel Container
  app:
    build:
      context: .
      dockerfile: ./docker/php/Dockerfile
    volumes:
      - .:/var/www/html
    networks:
      - laravel-network

  # Nginx Container
  web:
    image: nginx:latest
    ports:
      - "8080:80"
    volumes:
      - .:/var/www/html
      - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - app
    networks:
      - laravel-network

  # MySQL Container
  db:
    image: mysql:8.0
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: laravel_db
      MYSQL_ROOT_PASSWORD: password
    networks:
      - laravel-network

networks:
  laravel-network:
    driver: bridge

② docker/php/Dockerfile

PHPの実行環境をカスタマイズするためのファイルです。

FROM php:8.2-fpm

# 必要なライブラリのインストール
RUN apt-get update && apt-get install -y \
    git \
    curl \
    libpng-dev \
    libonig-dev \
    libxml2-dev \
    zip \
    unzip

# PHP拡張機能のインストール
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd

# Composerのインストール
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

WORKDIR /var/www/html

3. コンテナの起動とLaravelのインストール

ターミナル(PowerShellやMacのターミナル)を開き、プロジェクトフォルダへ移動して以下の順にコマンドを打ちます。

① コンテナを起動する

docker-compose up -d --build

② コンテナ内でLaravelプロジェクトを作成する

docker-compose exec app composer create-project laravel/laravel .

※末尾の . は「現在のディレクトリにインストールする」という意味です。

③ 権限の設定(Linux/Macの場合)

書き込み権限でエラーが出る場合は、以下のコマンドを実行してください。

docker-compose exec app chmod -R 777 storage bootstrap/cache

4. ブラウザで確認

ブラウザで http://localhost:8080 にアクセスしてみましょう。Laravelのウェルカム画面が表示されれば成功です!


よく使うコマンド集

コマンド 説明
docker-compose up -d コンテナの起動(バックグラウンド)
docker-compose stop コンテナの停止
docker-compose exec app php artisan ... Artisanコマンドの実行
docker-compose ps 起動中のコンテナ確認

まとめ

Dockerを使うことで、チームメンバー間で全く同じ環境を共有でき、「自分の環境では動くのに!」というトラブルを防ぐことができます。

今回は最小限の構成でしたが、ここからRedisを追加したり、Mailpit(メールテスト用ツール)を追加したりして、自分好みの最強の開発環境を作ってみてください!