2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker composeを使ったLaravelの環境構築

Last updated at Posted at 2024-11-04

はじめに

前提環境
docker
docker-compose

dockerとdocker-composeは以下の公式URLからインストール前提でお願いします。
Docker desktop

環境構築ファイル

以下のURLからdocker-composeを実行する上での環境をクローンしてください。
URL:github laravel-docker

ディレクトリ構成

クローンしてきたディレクトリ構成は以下のようになります。

LARAVEL/
├── .gitignore                  # Gitで追跡しないファイルやディレクトリを指定
├── docker-compose.yml          # Dockerのサービス構成ファイル
├── README.md                   # 環境構築手順や使用方法の説明書
├── docker/                     # 各サービスのDocker設定をまとめたディレクトリ
│   ├── app/
│   │   ├── Dockerfile          # アプリケーション(Laravel)用のDockerfile
│   │   └── php.ini             # PHPの設定ファイル
│   ├── db/
│   │   ├── Dockerfile          # データベース用のDockerfile
│   │   └── my.conf             # MySQLの設定ファイル
│   └── web/
│       ├── Dockerfile          # Webサーバー(例: Nginx)用のDockerfile
│       └── default.conf        # Webサーバーの設定ファイル

Laravel プロジェクト構築手順

  1. ディレクトリの移動

    LaravelプロジェクトのDocker設定があるディレクトリに移動します。

    cd laravel
    
  2. Dockerコンテナのビルドと起動

    Dockerイメージをビルドし、コンテナをバックグラウンドで起動します。

    docker compose build
    docker compose up -d
    
  3. Laravel プロジェクトのセットアップ

    • Laravel プロジェクトを作成

      コンテナ内にLaravelプロジェクトを作成します。

      docker compose exec app composer create-project --prefer-dist laravel/laravel .
      
    • アプリケーションキーの生成

      Laravelのアプリケーションキーを生成して、.envファイルに設定します。

      docker compose exec app php artisan key:generate
      
    • Laravelの環境設定ファイル .env の編集

      Docker Compose で指定されているデータベースの接続情報を .env ファイルに設定します。

      DB_CONNECTION=mysql
      DB_HOST=db                # Docker Composeで定義されているサービス名
      DB_PORT=3306
      DB_DATABASE=database      # docker-compose.yml の MYSQL_DATABASE と同じ値
      DB_USERNAME=user          # docker-compose.yml の MYSQL_USER と同じ値
      DB_PASSWORD=password      # docker-compose.yml の MYSQL_PASSWORD と同じ値
      
    • ストレージリンクの作成

      public/storageディレクトリへのシンボリックリンクを作成します。

      docker compose exec app php artisan storage:link
      
    • ディレクトリの権限設定

      storagebootstrap/cache ディレクトリに書き込み権限を設定します。

      docker compose exec app chmod -R 777 storage bootstrap/cache
      
    • データベースのマイグレーション

      データベーステーブルを作成します。

      docker compose exec app php artisan migrate
      

最後にlocalにアクセスしてサーバー立ち上がっていれば完了です。

http://localhost:8080/
スクリーンショット 2024-11-05 5.24.05.png

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?