docker 堆栈配置
描述 | 在进行合并和插值后输出最终配置文件 |
---|---|
用法 | docker stack config [OPTIONS] |
群此命令适用于 Swarm 编排器。
描述
在对输入 Compose 文件进行合并和插值后,输出最终的 Compose 文件。
选项
选择 | 违约 | 描述 |
---|---|---|
-c, --compose-file | Compose 文件的路径,或从 stdin 读取的路径- | |
--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
从 interpolating${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 -