Dockerを使ったLaravel開発環境の作り方(Laravel 12対応)

  • URLをコピーしました!
目次

有志の方の記事を参考

Ruby on Rails同様に最近のLaravelもさわってみたいと思い、Docker環境でLaravelの開発環境を作れないか調べてみた。

自分で一から作る余裕はなかったので、ネットで探してみたところ、最近の記事で有志の方があげてくれていた。

Qiita
DevContainer+Laravelで爆速ローカル環境構築 - Qiita はじめに本稿では使用している技術の説明は行いません。各自で調べてください。対象者Docker、linux、devcontainerの基礎知識がある方急ぎでLaravelをWebアプリケーシ…

しかし、私の環境だとそのままでは動かなかったので、メモを残しておく。

Permission deniedのエラー対応

公開されているGitHubリポジトリをクローンして、VSCodeでdevContainerで開いたところ、コンテナのビルド中にディレクトリ・ファイル生成のところでPermission deniedのエラーが出た。

Claudeに聞いてみたところ、とりあえず実行ユーザーをrootにしてみたらということだったので、次のようにwebとappに対してrootユーザーを指定した。

services:
  web:
    user: root
    build: ./container/apache
    container_name: web
    restart: always
    ports:
      - ${WEB_PORT}:80
    volumes:
      - ../:/var/www/html
      - ./container/apache/httpd.conf:/usr/local/apache2/conf/httpd.conf
    depends_on:
      - app

  app:
    user: root
    build: ./container/php

これでエラーは解決してコンテナ環境を立てることができた。

Deprecatedの警告が大量に表示される

手順通りに進めると、なぜかDeprecatedの警告が大量に表示された。

Deprecatedはバージョンが古いときによく出る警告なので、バージョンを調べてみたところ、PHPは8.4で最新が入っていて問題なさそう。

Laravelのバージョンは手順の中で8を指定していたので、そのまま8を入れたがこれがまずかった。

調べてみると、Laravelの最新バージョンは12だった。

PHPのバージョンに対して、Laravelが古すぎるために出ていた警告だった。

次のようにcomposerで12を指定したら警告は出なくなった。

composer create-project laravel/laravel:^12.0 example-app

昔Laravelをさわってた頃はLaravel 8っていうと結構新しいイメージだったけど、もう4世代も前のバージョンになっちゃってたのか・・・

ということで環境構築はdocker-compose.ymlの一部修正とLaravelの指定バージョンを変えることで無事Laravelの開発環境を作ることができた!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

企業勤めのWebエンジニアです。
フロント・バックエンド・インフラそれぞれ扱っています。
当ブログは主にプログラミングに関するテック記事を扱っています。

目次