Skip to content

Files

Latest commit

 

History

History

docker-compose-override

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

介紹 docker-compose-override

官方文檔可參考 Merge Compose files

通常一般我們使用都只會用 docker-compose.yml,

但其實 docker 會再去該路徑底下找是否有 docker-compose.override.yml,

來看一個例子,

當你執行 docker compose up -d 時,

docker 會去自動去找對應的 docker-compose.override.yml,

不相同的部份, 結果是兩個的相加, 以這個例子來說, 你會發現 nginx 容器內的

80 port (docker-compose.yml定義) 和 81 port (docker-compose.override.yml) 都被打開了,

如果是相同的部份, 是覆蓋, 看誰後面執行, 像是這個範例中, $TEST 會輸出 "world"

❯ docker exec -it nginx bash
root@73377e053ab4:/# echo $TEST
"world"

上面說的看誰後面執行的意思是, 本質上, 如果你沒有特別設定,

執行

docker compose up -d

等同下面的

docker compose -f docker-compose.yml -f docker-compose.override.yml up -d

然後如果你把他顛倒過來, 環境變數的輸出就會不一樣了.