Laradock - 更快速優雅的建立Laravel
嗨~ 大家好~ 先跟大家拜個年~ 新年快樂
首先要來跟大家介紹的是Laradock,
Laradock是一套很方便建立Laravel環境的工具,
它採用docker-compose的方式,
將建立container要做的事情都規劃好了,
開發者就不需要在苦惱docker、container這一部分,
建議日後也是要了解docker的運作~~
Laradock也收錄了很多的工具,
像是常見的 Apache、Nginx、Phpmyadmin…等
甚至連Gitlab都有了,
功能非常的齊全,所以也有點肥大!?!?
話不多說我們開始吧~~
本文所採用的環境
- Max OSX 10.15
- Docker version 19.03.5
已知設定略同的環境
- Centos7
首先先到Laradock的官網下載整個包 Laradock,
1 | vim ~/dock |
接著複製env.example存成.env
1 | cd ~/dock/laradock |
打開.env後發現有很多設定,
跟環境比較有關係的是這些
1 | ### Paths ################################################# |
除了基本的環境設定外,
.env檔裡存放著各個工具的預設帳號密碼與相關設定,
只要修改欲使用工具的設定值即可
,在此以phpmyadmin做演示,
1 | # Accepted values: mariadb - mysql |
注意者裡一定要設定,
屆時開啟phpmyadmin就會自動啟動sql
1 | # phpmyadmin的預設使用者 |
這邊要注意的是root的密碼,
預設使用者的密碼可以屆時再改或設定成亂碼,
畢竟這些預設值都是眾人皆知的,
以資安來說最好是採用亂數密碼來設定比較好,
以上設定完了之後就可以來啟動拉~
1 | docker-composer up -d apache phpmyadmin 想啟動的服務... |
在這裡我只跟docker說我要啟動 apache 和 phpmyadmin 這兩項服務,
接著你會發現docker會啟動數個container,
仔細觀察可以發現,
他將workspace、php、apache、mysql都分開來,
好處就是今天更換其中一個的版本,
都不需要額外設定主機的環境變數…等,
這些事情docker都幫你在底層處理好了~~
接著來看一下container的狀態
1 | docker ps |
可以看到每個container開啟的port號與狀態,
所有的服務都有順利執行,
我們打開瀏覽器並輸入localhost:8080,來檢查phpmyadmin是否順利啟動
1 | Server = mysql or mariadb |
就可順利進入到phpmyadmin的主畫面了
接下來就是建立專案拉~
先進入到workspace這個container中,
會發現預設進入的資料夾是 /var/www/,
1 | docker-compose exec workspace bash |
將DB連線設定為 mysql or mariadb並設定sql的使用者與密碼
1 | DB_HOST=mysql |
因為在docker裡container與container之間是用名稱去做連結,
不同以往採用localhost的方式連線sql
設定完成後打開瀏覽器輸入 localhost/myproject/public,
如果出現laravel的預設畫面,表示我們已經順利將專案建立起來拉~~
後記
這裡我比較偷懶,沒有額外去設定vitrulhost,安全性也會比較有疑慮,
如果用nginx則需要再設定conf與host才能順利執行,
下一篇呢就來寫 設定vitruhost 跟 nginx conf的教學 ~~