相信大家對 Laravel 都很熟悉,但是初學者或是新進同事要快速入門 Laravel 最大的門檻就是該如何在短時間內在本機電腦快速安裝好公司專案。這時候使用 Laradock 就是一個最佳時機,透過 Docker 容器話,快速切換 PHP 版本,或者是安裝額外的服務像是 MySQL, MariaDB, phpMyAdmin 或 nginx 等服務,讓本機端不受到自訂安裝套件的困擾,用完隨時關閉,完全不會影響到電腦環境。底下我會介紹使用 Laradock 該注意的事情。完整詳細的操作步驟可以直接看 Youtube 影片。
教學影片
同步放在 Udemy 平台上面,有興趣的可以直接參考底下:
前置處理
先來定義 laradock 該如何跟既有或者是全新專案結合,底下提供一種目錄結構
其實蠻好懂的,先建立空目錄,www 代表專案的程式碼,而 laradock 就是本機端開發環境。你也可以直接將 laradock 放進 www 內也可以。
編輯 laradock/.env (從 env-example 複製)
修改
|
|
專案架構調整為:
如果機器本身已經有 nginx, apache 或 traefik,請將 nginx container port 修改為:
下載專案原始碼
如果已經有 Source Code 了請忽略此步驟,如果是全新的專案,請先進入 workspace
容器:
|
|
進去後預設會在 /var/www
目錄底下,接著下載 laravel 官方原始碼
|
|
完成後請離開 container,就可以看到在 www
底下有完整的 laravel 代碼,避免跟主機 Host 衝突。接著啟動專案 (nginx + mariadb)
|
|
設定 nginx 檔案
先假設網域名稱為 laravel.test
,先複製 config
|
|
修改 nginx/sites/laravel.test.conf
這邊我有發個 PR 到 Laradock,最後新增 laravel.test 到 /etc/hosts
檔案
修改目錄權限
由於 php-fpm 容器運行的 www-data 的使用者,所以您必須在 Host 設定相對應的 uid 及 gid,先進入 php-fpm
來取得 www-data 個人資訊:
設定權限
|
|
編輯 laradock/docker-compose.yml
Docker 預設使用 172.21.x 開頭的 IP,可以修改 docker-compose.yml 來調整網路設定:
|
|
避免跟公司網路 172.xxx.xxx.xxx 網域衝到造成網路斷線。
See also
- Go 1.16 推出 Embedding Files
- 用 Docker 每天自動化備份 MySQL, Postgres 或 MongoDB 並上傳到 AWS S3
- 如何將前端網站打包成 Docker Image
- 使用 Docker BuildKit 加速編譯 Image
- 用 GitHub Actions 上傳 Docker Image 到 AWS ECR
- Docker 推出官方 GitHub Actions 套件
- Go Modules 處理 Private GIT Repository 流程
- 用五分鐘安裝好 Drone 搭配 GitHub 自動化環境
- 使用 Docker 五分鐘安裝好 Gitea (自架 Git Hosting 最佳選擇)
- [Go 教學] graceful shutdown 搭配 docker-compose 實現 rolling update