docker stack 配置
| Description | Outputs the final config file, after doing merges and interpolations |
|---|---|
| Usage | docker stack config [OPTIONS] |
Swarm 此命令适用于Swarm编排器。
描述
在完成输入Compose文件的合并和插值后,输出最终的Compose文件。
选项
| Option | Default | Description |
|---|---|---|
-c, --compose-file | Path to a Compose file, or - to read from stdin | |
--skip-interpolation | Skip 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 -