docker stack config

描述在執行合併和插值後,輸出最終的配置檔案
用法docker stack config [OPTIONS]

Swarm 此命令適用於 Swarm 編排器。

描述

在對輸入的 Compose 檔案進行合併和插值後,輸出最終的 Compose 檔案。

選項

選項預設值描述
-c, --compose-fileCompose 檔案的路徑,或 - 從標準輸入讀取
--skip-interpolation跳過插值,只輸出合併後的配置

示例

以下命令輸出兩個 Compose 檔案合併和插值的結果。

$ docker stack config --compose-file docker-compose.yml --compose-file docker-compose.prod.yml

Compose 檔案也可以透過 --compose-file - 從標準輸入提供

$ 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 -