docker堆栈配置

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

Swarm 此命令与 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.

如果您的网络服务器的环境变量中有一个重定向路由的正则表达式,您将使用两个$符号来防止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 -