Docker を使った Laravel 開発環境の構築方法を解説します。

docker-compose.yml の設定

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    platform: linux/amd64  # M1/M2 Mac 向け
    volumes:
      - .:/var/www/html
  
  nginx:
    image: nginx:alpine
    ports:
      - '80:80'
    volumes:
      - .:/var/www/html
      - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
  
  mysql:
    image: mysql:8.0
    platform: linux/amd64
    environment:
      MYSQL_DATABASE: laravel
      MYSQL_ROOT_PASSWORD: secret

Dockerfile

FROM php:8.3-fpm
RUN docker-php-ext-install pdo pdo_mysql
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

M1/M2 Mac での注意点

Apple Silicon では platform: linux/amd64 の指定が必要なイメージがあります。特に MySQL 8.0 は arm64 版のイメージを使うか、platform 指定が必要です。

まとめ

Docker を活用することで、チーム全員が同じ環境で開発でき、本番環境との差異も最小化できます。