0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PHP × Node.js 開発環境を一体化!Docker でラクラク Laravel 開発

Posted at

PHP × Node.js 開発環境を一体化!Docker でラクラク Laravel 開発

Docker 上で PHP と Node.js の両方が使える便利なイメージを紹介します。softjpn/laravel-nodejs-dev は、php:8.2-fpm をベースにして、Laravel や Composer、Git、Node.js & npm などの主要ツールをあらかじめインストールしたものです。このイメージを使えば、ローカル環境にこれらのツールをひとつずつインストールする必要がありません。


このイメージに含まれているもの

  • PHP 8.2
  • Composer (PHP の依存管理)
  • Laravel Installer (Laravel プロジェクトの新規作成が簡単)
  • Git (バージョン管理)
  • Node.js & npm (JavaScript まわりの開発に必要)

これらがオールインワンで入っているため、プロジェクトに合わせて PHP だけでなくフロントエンド系のビルドやツールもすぐに扱えます。


使い方のポイント

どのコマンドでも共通しているのは、-v "$PWD:/app" でローカルのカレントディレクトリをコンテナ内の /app にマウントする点です。コンテナ内で作成・編集されるファイルは、同じディレクトリ内に直接反映されます。

1. 新しい Laravel プロジェクトを作る

docker run --rm -it -v "$PWD:/app" softjpn/laravel-nodejs-dev laravel new example-app
  • laravel new example-app は Laravel Installer を使って example-app フォルダに新規プロジェクトを作成。
  • --rm -it は終了時にコンテナを自動削除し、対話モードで実行するオプションです。

2. 簡単な PHP スクリプトを実行する

docker run --rm -it -v "$PWD:/app" softjpn/laravel-nodejs-dev php helloworld.php
  • ローカルの helloworld.php をコンテナ内で実行できます。

3. Node.js スクリプトを実行する

docker run --rm -it -v "$PWD:/app" softjpn/laravel-nodejs-dev node ./helloworld.js
  • Node.js があらかじめ入っているので、JavaScript の実行も可能です。

4. PHP のバージョンを確認する

docker run --rm -it -v "$PWD:/app" softjpn/laravel-nodejs-dev php --version
  • 現在のコンテナに入っている PHP のバージョンが表示されます。

5. Git を使う

docker run --rm -it -v "$PWD:/app" softjpn/laravel-nodejs-dev git --version
  • バージョン確認だけでなく、commit や push/pull などのコマンドも実行可能。

6. npm のバージョンを確認する

docker run --rm -it -v "$PWD:/app" softjpn/laravel-nodejs-dev npm --version
  • npm コマンドも同様に利用できます。npm installnpm run dev なども自由に実行可能です。

補足情報

  • デフォルトコマンド
    特にコマンドを指定しない場合、コンテナは php-fpm を起動します。Laravel を Docker Compose で動かす際に便利です。

  • コンテナの作業ディレクトリ
    /app がデフォルトになっています。必ず -v "$PWD:/app" を付けてローカルのフォルダをマウントしましょう。

  • エントリーポイント
    docker-php-entrypoint を使っているため、PHP 関連のコマンドが正しく初期化されます。

このイメージは、Laravel と Node.js をまとめて使えるようにした軽量な開発環境です。複数のツールをあちこちインストールする必要がなく、しかも更新も自動で追従しやすいので、手元の環境を汚さずに開発を進められます。ぜひ試してみてください。

DockerfileSource Code on Github

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?