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 -