docker 堆栈配置

描述在进行合并和插值后输出最终配置文件
用法docker stack config [OPTIONS]

此命令适用于 Swarm 编排器。

描述

在对输入 Compose 文件进行合并和插值后,输出最终的 Compose 文件。

选项

选择违约描述
-c, --compose-fileCompose 文件的路径,或从 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 -