docker stack deploy
| 描述 | 部署新堆栈或更新现有堆栈 |
|---|---|
| 用法 | docker stack deploy [OPTIONS] STACK |
| 别名 | docker stack up |
Swarm 此命令适用于 Swarm 编排器。
描述
从 swarm 上的 `compose` 文件创建和更新堆栈。
注意这是一个集群管理命令,必须在 Swarm 管理器节点上执行。要了解管理器和工作器,请参阅文档中的Swarm 模式部分。
选项
| 选项 | 默认值 | 描述 |
|---|---|---|
-c, --compose-file | API 1.25+ Compose 文件的路径,或者 `-` 表示从标准输入读取 | |
-d, --detach | true | 立即退出,而不是等待堆栈服务收敛 |
--prune | API 1.27+ 修剪不再引用的服务 | |
-q, --quiet | 禁止进度输出 | |
--resolve-image | always | API 1.30+ 查询注册表以解析镜像摘要和支持的平台 (`always`、`changed`、`never`) |
--with-registry-auth | 向 Swarm 代理发送注册表认证详情 |
示例
Compose 文件 (--compose-file)
`deploy` 命令支持 Compose 文件版本 `3.0` 及以上。
$ docker stack deploy --compose-file docker-compose.yml vossibility
Ignoring unsupported options: links
Creating network vossibility_vossibility
Creating network vossibility_default
Creating service vossibility_nsqd
Creating service vossibility_logstash
Creating service vossibility_elasticsearch
Creating service vossibility_kibana
Creating service vossibility_ghollector
Creating service vossibility_lookupd
Compose 文件也可以通过 `--compose-file -` 作为标准输入提供。
$ cat docker-compose.yml | docker stack deploy --compose-file - vossibility
Ignoring unsupported options: links
Creating network vossibility_vossibility
Creating network vossibility_default
Creating service vossibility_nsqd
Creating service vossibility_logstash
Creating service vossibility_elasticsearch
Creating service vossibility_kibana
Creating service vossibility_ghollector
Creating service vossibility_lookupd
如果您的配置分散在多个 Compose 文件中,例如基础配置和特定于环境的覆盖,您可以提供多个 `--compose-file` 标志。
$ docker stack deploy --compose-file docker-compose.yml -c docker-compose.prod.yml vossibility
Ignoring unsupported options: links
Creating network vossibility_vossibility
Creating network vossibility_default
Creating service vossibility_nsqd
Creating service vossibility_logstash
Creating service vossibility_elasticsearch
Creating service vossibility_kibana
Creating service vossibility_ghollector
Creating service vossibility_lookupd
您可以验证服务是否已正确创建
$ docker service ls
ID NAME MODE REPLICAS IMAGE
29bv0vnlm903 vossibility_lookupd replicated 1/1 nsqio/nsq@sha256:eeba05599f31eba418e96e71e0984c3dc96963ceb66924dd37a47bf7ce18a662
4awt47624qwh vossibility_nsqd replicated 1/1 nsqio/nsq@sha256:eeba05599f31eba418e96e71e0984c3dc96963ceb66924dd37a47bf7ce18a662
4tjx9biia6fs vossibility_elasticsearch replicated 1/1 elasticsearch@sha256:12ac7c6af55d001f71800b83ba91a04f716e58d82e748fa6e5a7359eed2301aa
7563uuzr9eys vossibility_kibana replicated 1/1 kibana@sha256:6995a2d25709a62694a937b8a529ff36da92ebee74bafd7bf00e6caf6db2eb03
9gc5m4met4he vossibility_logstash replicated 1/1 logstash@sha256:2dc8bddd1bb4a5a34e8ebaf73749f6413c101b2edef6617f2f7713926d2141fe
axqh55ipl40h vossibility_vossibility-collector replicated 1/1 icecrime/vossibility-collector@sha256:f03f2977203ba6253988c18d04061c5ec7aab46bca9dfd89a9a1fa4500989fba