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,phpenv

用光了Docker IPv4 address pool問題解法

可能在舊版的docker環境,使用Docker compose啟動容器時,會碰過下方的錯誤:

 Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network這其實這是default-address-pools用光的症狀,有些環境,docker-compose預設會使用Class B的私有網路。172段的私有IP是有範圍的,從172.16.0.0到172.31.255.255。也就是說,當我們起動一個docker-compose的Project,就會吃掉一個Class B的私有段,非常豪邁,

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

docker,container,laravel

在Nas上手動更新D-Laravel的使用者id全記錄

本文全記錄,紹我如何更新我家Nas上的fpm image的uid。 本文章中,您應該會學會查詢容器id及commit容器等相關概念。