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 时。
如果您的 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 -