by Devin Yang , 3 years ago

D-Laravel的console指令讓我們快速的了解他執行了什麼。如果使用docker-compose是怎麼執行的呢?
我們來看看吧。

以下是實際執行的情況

一、圖片中,我執行了Linux的ls指令,查看有沒有docker-compose.yml檔,docker-compose指令,是使用遞迴的方式一層一層目錄找上去哦。
docker-compose 指令,只要找的到 docker-compose.yml 這個檔就能依檔案中的設定,去建立執行的容器囉 。

二、我們來看看,圖片中,我執行了./console指令,這隻bash幫助我們可以非常快速的執行docker-compose。不加參數的console指令,
在D-Laravel的設定上,就是進到php服務的容器內。
所以很明顯,我執行完./console就進入到容器中了
dlaravel@web:/var/www/html$
各位看官,是否注意到了,當執行./console指令時,底下印出了一行官方的指令呢?
docker-compose  -f /Users/devin/dlaravel/docker-compose.yml exec -u dlaravel php bash
這是讓我們理解,./console幹了什麼事用的,他就是跑了docker-compose指令,非常明顯的,-f就是指明使用那個docker-compose.yml檔。
而-u就是在容器中要使用何種身份,這也是為何,設定別名的console指令,您可以在任意地方執行的原因之一。

三、即然如此,我們是在dlaravel的目錄中,而新版的fpm image,使用的預設使用者也是dlaravel,指令當然可以檢化。
來看看到圖片上,我輸入了如下指令一樣能正常進到php服務的容器內:
docker-compose exec php bash
(註: php是容器的服務名稱,而bash則是您在容器中要執行的指令,您可以把bash改top看看,就會跑容器內的top指令哦。)

執行的結果,是與./console結果,相同的您說是吧。
所以,您也可以試試更多指令,例如下方的:
./console ps

docker-compose ps
這兩指令,結果必然相同,因為都是做同一件事情(那用console做啥,就自動補全可快很多呀)。

本人是混用,就是了,如果您使用了dlaravel的.env檔,基本上需完全使用console指令。
當然您可以把你要的一些相關服務移到docker-compose.yml內也OK,話說回來用console就好了呀,
console + .env可以任意擴充更多的服務不是很好嗎? :)

最後,希望您讀完本篇後,對D-Laravel與docker-compose有更深入的了解。:)





 

Tags: docker laravel

Devin Yang

有什麼建議或想法,歡迎提出來哦

No Comment

Post your comment

Login is required to leave comments

Similar Stories


openssl

如何移除PEM的密碼

您可以使用openssl rsa命令刪除密碼。 我們傳入SSL .key並獲得一個.key文件作為輸出。

git

強制清空遠端repo所有資料

強制清空遠端repo所有資料

laravel

Laravel思緒整理,從Model到DatabaseSeeder.

本文將一步一步介紹相關的指令用例: Model=>Factory=>Seeder=>DatabaseSeeder 一步一腳印,讓我們就從Model開始檢視所有流程到DatabaseSeeder。