1、docker stack config 简介
docker stack config
命令是用于在 Docker 栈中管理配置。它允许您创建、列出、删除和导出配置,并将配置与服务关联。
该命令与Swarm编排器一起工作。
在对输入的合成文件进行合并和插值之后,输出最终的合成文件。
注意:
此命令是一个集群管理命令,必须在 Swarm 管理节点上执行。有关管理节点和工作节点的详细信息,请参阅文档中的 Swarm 模式部分。
参考文档:https://docs.docker.com/engine/reference/commandline/stack_config/
2、docker stack config 语法
docker stack config [OPTIONS]
3、docker stack 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 -
1)跳过插值
在某些情况下,跳过环境变量的插值可能很有用。例如,当您希望将此命令的输出通过管道返回给 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 -
4、命令选项
名称 | 默认值 | 描述 |
--compose-file , -c | Compose文件的路径,或者-从stdin中读取 | |
--skip-interpolation | 跳过插值,只输出合并后的配置 |
5、子命令
命令 | 描述 |
docker stack config | 输出最终的配置文件,进行合并和插值后 |
docker stack deploy | 部署一个新的 stack 或更新现有的 stack |
docker stack ls | 列出 stacks |
docker stack ps | 列出 stack 中的任务 |
docker stack rm | 移除一个或多个 stacks |
docker stack services | 列出 stack 中的服务 |