Laradock – 基於 Docker 的完整 PHP 開發環境

Laradock,這個名字一看起來就是專為 Laravel + Docker 而生。因為 Laradock 已經幫我們將複雜又繁瑣的設定預先處理好了,所以能大幅減輕自己維護所耗費的心力。
特色
- 可輕鬆切換 PHP 版本: 7.4, 7.3, 7.2, 7.1, 5.6…
- 支援眾多資料庫: MySQL, Postgres, MariaDB…
- 軟體都跑在自己的 container 中,
不會打架 - 太多了就不一一列舉XD
安裝
官方教學文件中有對 Setup for Single Project / Setup for Multiple Projects 做簡單的介紹,本文以 Setup for Multiple Projects 為主。
筆者的目錄結構是把專案資料夾與 Laradock 放在同一層
├─site1
├─site2
├─laradock
首先,把 Laradock clone 下來
git clone https://github.com/laradock/laradock.git
複製範例設定檔出來
cp env-example .env
選擇您想使用 Nginx 還是 Apache,分別到 nginx/sites
與 apache2/sites
中編輯設定檔。筆者在此選擇使用 Nginx。
普通的 PHP 專案,請參考 app.conf.example
;同理若是 Laravel 就使用 laravel.conf.example
,複製一份出來,名稱可以任意取沒關係,因為此資料夾的所有 .conf 都會被 include 進去
cp app.conf.example yourdomain.conf
server {
listen 80;
listen [::]:80;
... 略
server_name site1.test; # 您的網域名稱
root /var/www/site1; # 資料夾名稱,與 Laradock 同一層
index index.php index.html index.htm;
... 略
error_log /var/log/nginx/site1(自訂名稱)_error.log;
access_log /var/log/nginx/site1(自訂名稱)_access.log;
}
同理,site2 也一樣重複上述步驟
修改本機 hosts,若使用 Windows 則檔案路徑在 C:\Windows\System32\drivers\etc
127.0.0.1 site1.test
127.0.0.1 site2.test
若您不打算使用 HTTPS (SSL),請不要用 .dev 網域
在目前新版的瀏覽器中,如 Chrome >= 63 後 .dev 須強制走 HTTPS
完成後就可以啟動執行 docker-compose up 啦! 第一次執行會稍微有點久是正常的,請耐心等候!
docker-compose up -d nginx mariadb
本文由作者 Chiahong 發表於 iBe 隨筆,歡迎分享,如需引用時請註明來源,感謝您!