docker 堆疊設定

說明輸出合併和插值後的最終設定檔
用法docker stack config [選項]

Swarm 此指令適用於 Swarm Orchestrator。

說明

輸出合併和插值輸入 Compose 檔案後的最終 Compose 檔案。

選項

選項預設值說明
-c, --compose-fileCompose 檔案的路徑,或使用 - 從標準輸入讀取
--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 -