Laradock Logo

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/sitesapache2/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