docker stack config
描述 | 输出合并和插值后的最终配置文件 |
---|---|
用法 | docker stack config [OPTIONS] |
Swarm 此命令适用于 Swarm 编排器。
描述
输出输入 Compose 文件合并和插值后的最终 Compose 文件。
选项
选项 | 默认 | 描述 |
---|---|---|
-c, --compose-file | Compose 文件路径,或使用 - 从标准输入读取 | |
--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
时。
如果你的 webserver 在环境变量中为重定向路由使用了正则表达式,你会使用两个 $
符号来阻止 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 -