建立於: 6年前 ( 更新: 6年前 )
前言
本文介紹,當我們使用D-Laravel的.env載入多個yml檔時,為何docker-compose ps官方指令無法列出所有使用中的服務。
但在D-Laravel上的./console ps確能正常顯示,那官方的docker-compose指令因如何使用才能有相同的效果呢?
但在D-Laravel上的./console ps確能正常顯示,那官方的docker-compose指令因如何使用才能有相同的效果呢?
docker-compose小教室
首先,當我們使用
docker-compose,其實提供了-f參數,讓我們可使用多個yml檔及非預設的名稱。
例下方的例子中,透過-f同時啟動了兩個yaml檔。

這時,
因此,如果需要查看redis的ps,我們要加上-p代表project的名稱(預設為目錄名稱)。
或是完整的指令

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

原官方指令: (這裡只列兩個yml檔,如果我們要載入更多的yml檔呢??)
透過./console簡化後: (D-Laravel搭配.env,是不是簡單到爆炸了)
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
No Comment
Post your comment