建立於: 6年前 ( 更新: 6年前 )
本文簡單的來介紹,在D-Laravel的別名a如何執行container內的php artisan.
除了透過簡單的bash在host端執行container內的命令,也能了解其背後的運作方式。
首先,我們知道,D-Laravel可以透過
我們輸入了
其實執行a別名是,就是去執行 dlaravel目錄下的artisan.sh這個bash。
透過這個bash,相當於幫我們執行了官方的指令如下:
先來查看我們自己使用的docker-compose版本,可用指令
如果您執行結果與本文不同時,有可能您需要更新您的docker-compose版本。

進入正題,現在讓我們來看看
點下圖可放大查看:

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

在上例如,至少需執行三行指令,才能執行到proj1資夾的php artisan指令。
一、
二、
三、
換成
所以,舉一反三,如果我們想看php服務在container中,php的版本,指令為何?

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

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

希望本文,您能了解到,當我們使用了簡易的別名時,在D-Laravel的背後是如何運透過官方指令運作的。
除了透過簡單的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
指令後,幹了什麼好事。點下圖可放大查看:

因此變成別名後,相對簡單很多,而且不用進到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服務的container中使用的Linux核心版本是什麼?

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

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