質問: Dockerの超初心者です。 ただ今勉強中で、今回初めて触ります。 Laradockでの複数プロジェクト構築について疑問に思っている点があり、何卒ご教示ください。 ### 疑問点 複数のLaravelプロジェクトをLaradockで構築する場合、 ``` ./LaravelProject ├── laradock ├── project1 └── project2 ``` という構成で紹介されている記事を見かけます。 この場合、project1、project2では 同じphp version、同じmysql versionでの動作が前提となっているのでしょうか? (laradock直下の.envでバージョンを指定しているので) もし、project毎にphp versionやmysql versionが異なる環境を構築したい場合は ``` ./LaravelProject1 ├── laradock └── src(laravel) ... 例)php7.x ./LaravelProject2 ├── laradock └── src(laravel) ... 例)php5.x ``` としたりするのでしょうか...? あまり後者のような説明を見かけないので不安に思い... すごい前提でつまづいていて恐縮ですが、ご教示いただければ幸いです🙏
回答: > > 同じphp version、同じmysql versionでの動作が前提となっているのでしょうか? > > > はい、ご認識の通りです。 > > もし、project毎にphp versionやmysql versionが異なる環境を構築したい場合は > > としたりするのでしょうか...? > > > 基本的にはそうなります。 ご認識はされてると思いますが、そもそも**プロジェクト毎に環境が違うというのは当たり前**の話です。 言語やフレームワークが違うというのはもちろんのこと、プロジェクトがPHP/Laravelだとしてもプロジェクト1はPHP7.0/Laravel5.5/MySQL5.7、プロジェクト2はPHP7.1/Laravel5.7/MySQL8.0だったりと。。。 Laradockはクローンして必要に応じてカスタマイズを行うというツールなので、**当たり前でないケースまで考慮されていません**。 とはいえ、あくまでLaradockのベースはDockerなので、どうしても1つのLaradockで複数バージョンのPHPを扱いたいというのであれば、php-fpmのコンテナを複製(php-fpm7.0, php-fpm7.1)してNginxで向き先を調整してやれば実現可能かと思います。 ただ公式で案内されているわけでも、実際に試したわけでもないのでその点ご留意ください。