Laravel Sail 是 Laravel 8 的新功能,你可以透過 sail 指令來操作內建的 Docker 設定,輕鬆建立起Laravel 所需的開發環境。Sail 降低新手想嘗試使用 Docker 作為開發環境的難度,一個指令就能將本地服務建起。
首先是安裝 Docker
Windows 需要安裝 WSL2 才能使用 Docker,我因為不想學,所以換了 Mac。
在 Mac 安裝 Docker Desktop
啟動 Docker
點擊圖示運行 Docker
在指令列輸入 docker ps
確認服務有起來
下載所需 Images
laravel.build 是官方提供的腳本產生網站,你可以將 example-app 改成你的專案名稱。
在指令介面輸入 curl -s https://laravel.build/example-app | bash
,會產生一個 example-app 的專案資料夾,以及 Laravel 專案所需的 Docker 設定。
預設的服務是:mysql、redis、meilisearch、mailhog、selenium,你可以在 url 後加上參數選擇所需的服務,像是這樣:
curl -s "https://laravel.build/example-app?with=mysql,redis" | bash
啟動 Containers
一個 container 要 run 一次,很多個 container 要 run 很多次,這樣很不方便,所以通常要運行多個服務會需要一個 docker-compose.yml
讓所有 container 一起 run。
Sail 的核心是一個 docker-compose.yml
,我們最後會透過 sail up
將我們的 Laravel 專案所需的所有服務一起運行。
先進入 example-app
cd example-app
再執行 vender 裡面的 sail 檔案
./vendor/bin/sail up
就可以看到熟悉的 127.0.0.1 了
詳細的教學可以參考官方文件
為了以後不用打那麼長一串 ./vendor/bin/sail
,我們會做 alias 設定。
打開設定檔
vim ~/.zshrc
在 zshrc 裡面加上一段
alias sail="bash ./vendor/bin/sail"
之後重新開啟 terminal,以後就可以使用 sail
代替 ./vendor/bin/sail
。
(artisan 指令使用 php artisan ...
都是改成 sail artisan ...
)
你好,我是小鎂,不是曉美也不是小美。
對程式的熱情和追求進步的心是小鎂私密的一面,比較少跟人提起,通常只展現在履歷上,所以只有幸運的 recruiters 看過。
小鎂的興趣是 reading & surfing ,每天都在網路衝浪。雖然小鎂跟 recruiters 說自己熱愛交流與分享,但小鎂在分享之前喜歡設下一點挑戰,像是你要先看過無聊的技術筆記,才看得到正文。
今天想分享的是: