Zenn
🫎

爆速でLaravel12のローカル環境を作成する

2025/03/14に公開

はじめに

とにかく今すぐローカル環境が欲しい!という方へ!
(業務で使っちゃダメですよ)

環境

mac
Docker

3分クッキング開始(15分)

プロジェクト作成

mkdir laravel12-docker && cd laravel12-docker

docker-compose.yml を作成

version: '3.8'

services:
  app:
    build:
      context: .
      dockerfile: php-fpm/Dockerfile
    container_name: laravel_app
    working_dir: /var/www
    volumes:
      - ./src:/var/www
    networks:
      - laravel

  web:
    image: nginx:latest
    container_name: laravel_nginx
    ports:
      - "8000:80"
    volumes:
      - ./src:/var/www
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - app
    networks:
      - laravel

  db:
    image: mysql:8.0
    container_name: laravel_db
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: local
      MYSQL_USER: laravel
      MYSQL_PASSWORD: secret
    volumes:
      - db_data:/var/lib/mysql
    ports:
      - "3306:3306"
    networks:
      - laravel

  phpmyadmin:
    image: phpmyadmin:latest
    container_name: laravel_phpmyadmin
    restart: unless-stopped
    ports:
      - "8080:80"
    environment:
      PMA_HOST: db
    depends_on:
      - db
    networks:
      - laravel

volumes:
  db_data:

networks:
  laravel:

Nginxの設定を作成

server {
    listen 80;
    index index.php index.html;
    root /var/www/public;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass app:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /\.ht {
        deny all;
    }
}

.envの設定

DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=local
DB_USERNAME=laravel
DB_PASSWORD=secret

ホスト側で設定

sudo chown -R $USER:$USER src/storage src/bootstrap/cache
sudo chmod -R 777 src/storage src/bootstrap/cache

Laravel12のインストールとマイグレーション

docker exec -it laravel_app bash
composer create-project laravel/laravel . --prefer-dist
php artisan migrate
exit

http://localhost:8000/ へアクセス

Discussion

ログインするとコメントできます