PHP
Laravel
Docker
PHP7.2

私が使っているワンストップ Laravel用DockerFileのご紹介


言いたいこと

小規模アプリなら、Laravel-Worker、Cron、Nginx、php-fpmを一つにまとめて運用したい!!

と思い作ったのが、全部入りDockerイメージ one-stop-laravel-docker

現在私が趣味で開発しているWEBアプリはこのDocker imageベースのcontainerで運用しています。


どんな構成なのか


  • PHP(php-fpm)

  • Nginx

  • Cron

  • Laravel worker

上記プロセスを「supervisord」で起動しています。


どうやって作っている?

Dockerfileを見ていただければすべて載っていますが、

PHP-FPMのDockerイメージに、NginxのDockerFileをそのままマージした、という荒っぽい作りとなっています。


良い点


  • アプリ自体は1コンテナで動作するので、管理が楽(もちろん、永続化させる必要のあるデータベースとRedisは別コンテナですが)

  • NginxとPHPそれぞれに静的コンテンツを置かなくてもよくなる

  • Laravelのコード入れて実行すれいい感じに動いてくれる


悪い点


  • Dockerのベストプラクティスに真っ向から勝負を仕掛けている(1コンテナ 1プロセス)

  • 規模の大きなアプリには向かない(スケーリングする前提だと向かないかも)