Home - DevinY/dlaravel GitHub Wiki
除了在Mysql官方的Homestead或是Valet外,是否有其他的選擇,來執行Laravel的環境開發呢。
這個source中採用docker-compose來執行Laravel的環境。
可是在docker hub上不是很多laravel的image,為什麼我要再做一個docker-compose版本的呢?
這麼說好了,依Docker官方的建議,一個程式安裝在一個Container內,
再把這些Container疊起來提供一個完整的服務,這種架構稱為Microservices(微服務)架構。
這裡我便是採用這樣的方式進行設定。
我主要將Laravel的環境拆成三個部份,nginx網頁服務、mysql資料庫及php-fpm。
再我的docker-compose.yml中可以看見,我使用了三個image.
分別是:
nginx
mysql:5.6.31
deviny/fpm
在上面的三個image中,前兩個都是官方的提供的,第三個則是我採用php官方的7.1重build的fpm image,
為什麼要重build php-fpm的image,是因為我要加入一些我會用到及Laravel會用到的擴充,
另外,我也在這個image中安裝了composer,及laravel的installer,所以可以由快取中,快速的建立Laravel Project.
也因為把每個服務都拆開了,因此可以任意的調整,
例如我想用那個版本的資料庫,或是那一種Web Server,或是加入其他的服務等,都可以經由docker-cmpose的設定來達成。
這裡為什麼沒裝redis,因為設定不好就會讓外部的人取得系統權限,所以預設不安裝。
如果需要參考redis的設定,也可以看我的另一篇, [如何加入redis的服務]