by Devin Yang

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

前言

本文介紹,當我們使用D-Laravel的.env載入多個yml檔時,為何docker-compose ps官方指令無法列出所有使用中的服務。
但在D-Laravel上的./console ps確能正常顯示,那官方的docker-compose指令因如何使用才能有相同的效果呢?

docker-compose小教室

首先,當我們使用docker-compose up -d或是docker-compose down時,他預設會去抓取目錄下的docker-compose.yml檔。

docker-compose,其實提供了-f參數,讓我們可使用多個yml檔及非預設的名稱。
例下方的例子中,透過-f同時啟動了兩個yaml檔。


這時,docker-compose ps您或許會發現,怎麼看不見reids的服務,這是因為兩個不同的yml檔在不同的目錄下。
因此,如果需要查看redis的ps,我們要加上-p代表project的名稱(預設為目錄名稱)。
或是完整的指令-f docker-compose-random.yml -f service/redis.yml


下方,我們來看看D-Laravel提供的,./console ps,
搭配.env時,如何幫我們搞定多個yaml檔的ps顯示,是不是方便很多,在下圖中您會看到如果只是單純使用
docker-compose ps時,您看不到redis的程序。


原官方指令: (這裡只列兩個yml檔,如果我們要載入更多的yml檔呢??)
docker-compose -f docker-compose.yml -f service/redis.yml ps

透過./console簡化後: (D-Laravel搭配.env,是不是簡單到爆炸了)
./console ps


 

Tags: docker

Devin Yang

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

No Comment

Post your comment

需要登入才可留言!

類似的文章


docker,laravel

如何使用多個YAML檔,執行多個docker的container服務

這個影片介紹如何用docker-compose命令,指定多個YAML結構語言設定檔,來建立容器的執行,並且介紹在D-Laravel的使用環境中,我們如何透過使用.env的方式,簡化docker-compose的啟動命令。

linux,docker,wifi

用docker建立WPA2/EAP企業用Radius驗證伺服器,後端使用mysql資料庫

AP提供了WPA2/EAP功能,但不會用嗎? 本文介紹我如何透過docker的ubuntu:21.04 image,極速建立Radius伺服器, 與Wifi的WPA2/EAP等相關運用。

d-laravel, docker, laravel, docker-compose

D-Laravel v1.0.0 release變更說明

為了讓container可以被更靈活運用,D-Laravel釋出v1.0.0版了,此版本為不向下相容變更。 https://github.com/DevinY/dlaravel/releases/tag/v1.0.0 如果您使用為 v1.0.0 之前,您需修改Laravel專案的.env檔,DB_HOST=127.0.0.1變更為DB_HOST=db 如果您有自訂的docker-compose-custom.yml檔....more