docker stack 配置

DescriptionOutputs the final config file, after doing merges and interpolations
Usagedocker stack config [OPTIONS]

Swarm 此命令适用于Swarm编排器。

描述

在完成输入Compose文件的合并和插值后,输出最终的Compose文件。

选项

OptionDefaultDescription
-c, --compose-filePath to a Compose file, or - to read from stdin
--skip-interpolationSkip interpolation and output only merged config

示例

以下命令输出两个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 -