Mac使用Laravel Sail建置開發環境

在以前一直使用Laradock建置開發環境,最近想嘗試Laravel Sail來建制開發環境,嘗試後發現Laravel SailLaradock更輕鬆上手,所以紀錄一下使用方法。

介紹

Laravel Sail是一個輕量級的命令行界面,用於與 Laravel 的默認 Docker 開發環境進行交互。Sail 為使用 PHP、MySQL 和 Redis 構建 Laravel 應用程序提供了一個很好的起點,而無需之前的 Docker 經驗。

Sail 的核心是存儲在項目根目錄中的docker-compose.yml文件和腳本。sail該腳本為 CLI 提供了與文件sail定義的 Docker 容器交互的便捷方法。docker-compose.yml

macOS、Linux 和 Windows(通過WSL2)支持 Laravel Sail。

引用自https://laravel.com/docs/9.x/sail#introduction

設置Laravel Sail(全新專案)

新專案使用官方提供腳本產生專案,只要將example-app更改為你的專案名稱,使用指令如下:

curl -s "https://laravel.build/example-app" | bash

預設會產生專案名稱資料夾,以上面範例就是產生example-app資料夾,裡面包含最新Laravel與所需要Docker設定,預設服務包含mysqlredismeilisearch、 mailhogselenium,當然也可以指定所需服務如下:

curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

設置Laravel Sail(舊專案)

舊專案可以透過composer 安裝 Laravel Sail,使用指令如下:

composer require laravel/sail --dev

接著使用 artisan 指令產出 docker-compose.yml,使用指令如下:

php artisan sail:install

選擇想要使用的服務,後續就等待Docker設置。

選擇安裝服務

設置Shell別名

在運行Laravel前,可以先配置Alias,不配置的話需要運行./vendor/bin/sail up才能啟動專案,但在開發時候打很長指令想想就頭痛,所以最簡單就是在終端環境內配置Alias:

echo 'alias sail="./vendor/bin/sail"' >> ~/.zshrc
source ~/.zshrc

上面是使用zsh terminal,如果是bash需要再修改成~/.bashrc,這時候執行sail up就能測試是否可以訪問。

Laravel新專案建置成功

Laravel Sail 常用指令

啟動開發環境需要使用sail up指令,就會開始運行容器,如果想終止容器,只需 Ctrl + C 終止容器。

sail up

如果需要再背景運行,只需要加上 -d,使用指令如下:

sail up -d

終止Laravel Sail全部服務,使用指令如下:

sail stop

想要終止 Laravel Sail與刪除所有服務容器,使用指令如下:

sail down

使用 artisan 指令,一般都會使用php artisan …,但在使用Laravel Sail時候需要改成sail artisan …,舉例:

php artisan make:controller TestController

執行 PHP、Composer、Node或NPM指令,會在前加入sail,舉例:

sail php --version
sail composer require laravel/sanctum
sail node --version
sail npm run dev

另外有一個很酷功能就是能產生臨時網址,沒有公網IP也能運作,需要在容器運作時候,輸入以下指令:

sail share

會產生類似下列資訊:

Thank you for using expose.
Shared URL:             host.docker.internal:80
Dashboard:              http://127.0.0.1:4040
Public HTTP:            http://[隨機產生].laravel-sail.site:8080
Public HTTPS:           https://[臨時產生].laravel-sail.site

當然也可以透過指定子域名,只要加上 --subdomain [子域名],使用指令如下:

sail share --subdomain=[子域名]

phpMyAdmin設置

雖然phpMyAdmin並不是必要服務,但開發時候真的很方便,可以透過修改docker-compose.yml將phpMyAdmin包含在裡面,如果有需要其他服務Laravel Sail沒有提供,也能透過類似方法進行添加。

首先打開docker-compose.yml,並在depends_on添加phpmyadmin,並添加phpmyadmin設置:

...省略...
services:
        depends_on:
            - mysql
            - redis
            - meilisearch
            - mailhog
            - selenium
            - phpmyadmin
    phpmyadmin:
        image: 'phpmyadmin:latest'
        ports:
            - 8080:80
        networks:
            - sail
        environment:
            - PMA_ARBITRARY=1
    mysql:
        image: 'mysql/mysql-server:8.0'
...省略...

修改完成後重新啟動(sail up),再打開http://127.0.0.1:8080/就會看到熟悉phpMyAdmin畫面。

phpmyadmin畫面,預設伺服器輸入mysql,使用者名稱與密碼,如果沒更改預設為sail和password。
暫無評論

發怖評論 編輯評論


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇