docker 堆疊設定
說明 | 輸出合併和插值後的最終設定檔 |
---|---|
用法 | docker stack config [選項] |
Swarm 此指令適用於 Swarm Orchestrator。
說明
輸出合併和插值輸入 Compose 檔案後的最終 Compose 檔案。
選項
選項 | 預設值 | 說明 |
---|---|---|
-c, --compose-file | Compose 檔案的路徑,或使用 - 從標準輸入讀取 | |
--skip-interpolation | 略過插值並僅輸出合併的設定 |
範例
以下指令輸出兩個 Compose 檔案合併和插值的結果。
$ docker stack config --compose-file docker-compose.yml --compose-file docker-compose.prod.yml
也可以使用 --compose-file -
將 Compose 檔案作為標準輸入提供
$ cat docker-compose.yml | docker stack config --compose-file -
略過插值
在某些情況下,略過環境變數的插值可能很有用。例如,當您想將此指令的輸出重新導向至 stack deploy
時。
如果您的 Web 伺服器環境變數中有用於重新導向路由的正規表示式,您將使用兩個 $
符號來防止 stack deploy
插值 ${1}
。
service: webserver
environment:
REDIRECT_REGEX=http://host/redirect/$${1}
使用插值時,stack config
指令會將 Compose 檔案中的環境變數替換為 REDIRECT_REGEX=http://host/redirect/${1}
,但當將其重新導向至 stack deploy
指令時,它將再次被插值,並導致未定義的行為。這就是為什麼將輸出重新導向至 stack deploy
時,應該始終優先使用 --skip-interpolation
選項的原因。
$ docker stack config --compose-file web.yml --compose-file web.prod.yml --skip-interpolation | docker stack deploy --compose-file -