by Devin Yang

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

前言

本文介紹,當我們使用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,nfs

Docker在macOS上的NFS

D-laravel的nfs模式,在這篇文章您可以了解到,如何在macOS使用NFS+Docker。

docker

Docker防毒攻略

最近剛看玩延禧攻略,就想來介紹個MacOS掃毒攻略。 這篇文章,教大家用如何用Docker搞定MacOS掃毒。 簡單介紹,我們如何透過docker使用防毒軟體掃毒。 這裡假定目前我的目錄是在我的家目錄中,所以${PWD}就是目前的所在目錄,會被掛載到container內的scan資料夾。 所以,使用clamscan -r /scan/,時就能掃描所有的擋案囉,加上-r的參數會使用遞迴的方式一層一層的進入子目錄掃描。

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