docker stack 配置
| 描述 | 输出合并和插值后的最终配置文件 |
|---|---|
| 用法 | 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 命令将使用 REDIRECT_REGEX=http://host/redirect/${1} 替换 Compose 文件中的环境变量,但是当将其通过管道传递回 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 -