by Devin Yang

建立於: 6年前 ( 更新: 6年前 )

本文簡單的來介紹,在D-Laravel的別名a如何執行container內的php artisan.
除了透過簡單的bash在host端執行container內的命令,也能了解其背後的運作方式。

首先,我們知道,D-Laravel可以透過 ./console alias a ,取得別名a的指令。
alias a="../../artisan.sh"

當我們host端(MacOS或Linux)的某一個D-Laravel的Project的資料夾內時,例如sites/proj1。
我們輸入了 a --version 別名,就能跑出Laravel的版號,為何呢?
其實執行a別名是,就是去執行 dlaravel目錄下的artisan.sh這個bash
透過這個bash,相當於幫我們執行了官方的指令如下:
docker-compose exec -u dlaravel php php proj1/artisan --version

先來查看我們自己使用的docker-compose版本,可用指令docker-compose version
如果您執行結果與本文不同時,有可能您需要更新您的docker-compose版本。


進入正題,現在讓我們來看看a --version轉換後的docker-compose指令後,幹了什麼好事。
點下圖可放大查看:
docker-compose help

因此變成別名後,相對簡單很多,而且不用進到php的container中即可執行Laravel的artisan指令囉。
這裡我採用docker-compose標準的指令,進入container後,再進行php artisan --version的過程

在上例如,至少需執行三行指令,才能執行到proj1資夾的php artisan指令。
一、docker-compose exec -u dlaravel php bash(執行php container服務名稱的bash,所以我們進入container內了)
二、cd proj1(進入proj1的資料夾,在container內,預設的工作目錄是在/var/www/html)
三、php artisan --version (感動,執行到proj1的php artisan --version了)

換成D-Laravel提供的a別名,我們只要a --version

所以,舉一反三,如果我們想看php服務在container中,php的版本,指令為何?
php --version

或者,我們要來查查在php服務的container中使用的Linux核心版本是什麼?
uname -a

在D-Laravel的docker-compose環境中,mysql的container服務名稱是db。
所以,我們exec db mysql,即可執行container內的mysql指令,進入mysql中囉。
mysql

希望本文,您能了解到,當我們使用了簡易的別名時,在D-Laravel的背後是如何運透過官方指令運作的。

Tags: dlaravel

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


dlaravel

如何啟動D-Laravel上的supervisor

由於queue workers是一個長期執行的程序,所以我們會需要一個程序管理員supervisor來監控Linux系統上的process是否持續運作,例如:當queue:work運作失敗時,可以自動重啟queue:work process。很幸運的D-Laravel已內建supervisor囉,所以不需要再自行安裝即可使用。 本文簡單的介紹,我們如何來啟動container內的supervisor。

dlaravel

哈,我成功讓D-Larave在樹莓派ARM的環境執行囉

這次買樹莓派是覺的這個東西很好玩,另外就是我家中的Mac環境太新了,無法正常編譯Line Simple Beacon, 透過樹莓派,輕鬆易用,環境上也不會有什麼問題,當然還有更多更多的運用。 但身為D-Laravel的作者,當然要來順便試試看.....

php,docker,dlaravel

我建立的phpenv容器環境簡單介紹

沒時間拍介紹影片,我就來隨便抓些畫面介紹我使用的容器環境deviny/phpenv。https://github.com/DevinY/phpenvphpenv算是我之前D-Laravel開源專案的進化版本,概念上延用了很多Dlaravel的操作方式。容器的更新上偏向使用者自行控制去Build自己的image,所以我不太會去更動版號了,其實D-Laravel的php版號,好像我也很久沒動啦:p