close
這是最近踩到的雷
我在做Laravel 的專案時,使用Docker-compose 來做環境
環境的container 是 nginx php mariadb
因為php 有需要套件,所以我有另外以原本的php imag作為基底做了一個新的docker file,加入一些套件後,在最後一行用CMD 把某些服務跑起來。
結果就悲劇了,網頁一直502
Laravel 網頁 502 有很多種可能性
最大的可能性就是 .env 檔設定不對,或者根本沒有(因為git ignore的關係)
第二個可能性就是 nginx 出問題 或者php 的設定出問題 ,
我碰到的問題是這樣的,Dockerfile 的CMD會覆蓋掉作為基底的dockerfile的CMD,所以之前php 的image 啟動php-fpm的CMD就被我蓋掉了。
php既然沒有啟動,error 502是當然的。
要怎麼修正呢?如果知道原因就很簡單了,把之前被蓋掉的CMD 聯合你現在需要的CMD 指令 寫成一個shell
用ADD把 shell script 放進container裡面,接著最後用CMD跑這個shell。這就是解方。
全站熱搜