©
本文档使用 PHP中文网手册 发布
列出堆栈中的任务
docker stack ps [OPTIONS] STACK
名字,简写 | 默认 | 描述 |
---|---|---|
--filter, -f | 根据提供的条件过滤输出 | |
--format | 使用Go模板打印任务 | |
--no-resolve | 假 | 不要将ID映射到名称 |
--no-TRUNC | 假 | 不要截断输出 |
--quiet,-q | 假 | 只显示任务ID |
命令 | 描述 |
---|---|
docker 堆栈 | 管理Docker堆栈 |
命令 | 描述 |
---|---|
docker 堆栈部署 | 部署新的堆栈或更新现有的堆栈 |
docker 堆栈ls | 列表堆栈 |
docker 堆栈ps | 列出堆栈中的任务 |
docker 堆栈rm | 删除一个或多个堆栈 |
docker 堆栈服务 | 列出堆栈中的服务 |
列出作为指定堆栈的一部分运行的任务。必须针对管理器节点运行此命令。
下面的命令显示作为voting
堆叠:
$ docker stack ps voting ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS xim5bcqtgk1b voting_worker.1 dockersamples/examplevotingapp_worker:latest node2 Running Running 2 minutes ago q7yik0ks1in6 voting_result.1 dockersamples/examplevotingapp_result:before node1 Running Running 2 minutes ago rx5yo0866nfx voting_vote.1 dockersamples/examplevotingapp_vote:before node3 Running Running 2 minutes ago tz6j82jnwrx7 voting_db.1 postgres:9.4 node1 Running Running 2 minutes ago w48spazhbmxc voting_redis.1 redis:alpine node2 Running Running 3 minutes ago 6jj1m02freg1 voting_visualizer.1 dockersamples/visualizer:stable node1 Running Running 2 minutes ago kqgdmededccb voting_vote.2 dockersamples/examplevotingapp_vote:before node2 Running Running 2 minutes ago t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 3 minutes ago
过滤标志(-f
或--filter
)格式是一key=value
对。如果有多个过滤器,则传递多个标志(例如--filter "foo=bar" --filter "bif=baz"
)。多个过滤器标志被组合为一个OR
过滤器。例如,-f name=redis.1 -f name=redis.7
返回两者redis.1
和redis.7
任务。
目前支持的过滤器是:
ID
名称
节点
期望的状态
id
过滤器上的全部或任务的ID的前缀匹配。
$ docker stack ps -f "id=t" voting ID NAME IMAGE NODE DESIRED STATE CURRENTSTATE ERROR PORTS tz6j82jnwrx7 voting_db.1 postgres:9.4 node1 Running Running 14 minutes ago t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 14 minutes ago
name
过滤器的任务名称相匹配。
$ docker stack ps -f "name=voting_redis" voting ID NAME IMAGE NODE DESIRED STATE CURRENTSTATE ERROR PORTS w48spazhbmxc voting_redis.1 redis:alpine node2 Running Running 17 minutes ago t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 17 minutes ago
node
过滤器上的节点名或节点ID相匹配。
$ docker stack ps -f "node=node1" voting ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS q7yik0ks1in6 voting_result.1 dockersamples/examplevotingapp_result:before node1 Running Running 18 minutes ago tz6j82jnwrx7 voting_db.1 postgres:9.4 node1 Running Running 18 minutes ago 6jj1m02freg1 voting_visualizer.1 dockersamples/visualizer:stable node1 Running Running 18 minutes ago
desired-state
过滤器可以取值running
,shutdown
,或accepted
。
$ docker stack ps -f "desired-state=running" voting ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS xim5bcqtgk1b voting_worker.1 dockersamples/examplevotingapp_worker:latest node2 Running Running 21 minutes ago q7yik0ks1in6 voting_result.1 dockersamples/examplevotingapp_result:before node1 Running Running 21 minutes ago rx5yo0866nfx voting_vote.1 dockersamples/examplevotingapp_vote:before node3 Running Running 21 minutes ago tz6j82jnwrx7 voting_db.1 postgres:9.4 node1 Running Running 21 minutes ago w48spazhbmxc voting_redis.1 redis:alpine node2 Running Running 21 minutes ago 6jj1m02freg1 voting_visualizer.1 dockersamples/visualizer:stable node1 Running Running 21 minutes ago kqgdmededccb voting_vote.2 dockersamples/examplevotingapp_vote:before node2 Running Running 21 minutes ago t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 21 minutes ago
格式化选项(--format
)可以很好地打印使用Go模板输出的任务。
下面列出了Go模板的有效占位符:
占位符 | 描述 |
---|---|
.ID | 任务ID |
.Name | 任务名称 |
.Image | 任务图像 |
.Node | 节点ID |
.DesiredState | 任务的期望状态(运行,关闭或接受) |
.CurrentState | 任务的当前状态 |
.Error | 错误 |
.Ports | 任务发布的端口 |
使用--format
选项时,stack ps
命令将按照模板声明输出数据,或者在使用该table
指令时也包含列标题。
下面的示例使用没有标头的模板,并输出Name
和Image
用冒号分隔的项用于所有任务:
$ docker stack ps --format "{{.Name}}: {{.Image}}" voting voting_worker.1: dockersamples/examplevotingapp_worker:latest voting_result.1: dockersamples/examplevotingapp_result:before voting_vote.1: dockersamples/examplevotingapp_vote:before voting_db.1: postgres:9.4voting_redis.1: redis:alpine voting_visualizer.1: dockersamples/visualizer:stable voting_vote.2: dockersamples/examplevotingapp_vote:before voting_redis.2: redis:alpine
--no-resolve
选项显示任务名称的ID,而不将ID映射到名称。
$ docker stack ps --no-resolve voting ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS xim5bcqtgk1b 10z9fjfqzsxnezo4hb81p8mqg.1 dockersamples/examplevotingapp_worker:latest qaqt4nrzo775jrx6detglho01 Running Running 30 minutes ago q7yik0ks1in6 hbxltua1na7mgqjnidldv5m65.1 dockersamples/examplevotingapp_result:before mxpaef1tlh23s052erw88a4w5 Running Running 30 minutes ago rx5yo0866nfx qyprtqw1g5nrki557i974ou1d.1 dockersamples/examplevotingapp_vote:before kanqcxfajd1r16wlnqcblobmm Running Running 31 minutes ago tz6j82jnwrx7 122f0xxngg17z52be7xspa72x.1 postgres:9.4 mxpaef1tlh23s052erw88a4w5 Running Running 31 minutes ago w48spazhbmxc tg61x8myx563ueo3urmn1ic6m.1 redis:alpine qaqt4nrzo775jrx6detglho01 Running Running 31 minutes ago 6jj1m02freg1 8cqlyi444kzd3panjb7edh26v.1 dockersamples/visualizer:stable mxpaef1tlh23s052erw88a4w5 Running Running 31 minutes ago kqgdmededccb qyprtqw1g5nrki557i974ou1d.2 dockersamples/examplevotingapp_vote:before qaqt4nrzo775jrx6detglho01 Running Running 31 minutes ago t72q3z038jeh tg61x8myx563ueo3urmn1ic6m.2 redis:alpine kanqcxfajd1r16wlnqcblobmm Running Running 31 minutes ago
在部署服务时,docker解析服务映像的摘要,并将服务定位到该摘要。摘要默认情况下不显示,但如果--no-trunc
使用则被显示。--no-trunc
选项还显示未截断的任务ID和错误消息,如下所示:
$ docker stack ps --no-trunc voting ID NAME IMAGE NODE DESIRED STATE CURREN STATE ERROR PORTS xim5bcqtgk1bxqz91jzo4a1s5 voting_worker.1 dockersamples/examplevotingapp_worker:latest@sha256:3e4ddf59c15f432280a2c0679c4fc5a2ee5a797023c8ef0d3baf7b1385e9fed node2 Running Runnin 32 minutes ago q7yik0ks1in6kv32gg6y6yjf7 voting_result.1 dockersamples/examplevotingapp_result:before@sha256:83b56996e930c292a6ae5187fda84dd6568a19d97cdb933720be15c757b7463 node1 Running Runnin 32 minutes ago rx5yo0866nfxc58zf4irsss6n voting_vote.1 dockersamples/examplevotingapp_vote:before@sha256:8e64b182c87de902f2b72321c89b4af4e2b942d76d0b772532ff27ec4c6ebf6 node3 Running Runnin 32 minutes ago tz6j82jnwrx7n2offljp3mn03 voting_db.1 postgres:9.4@sha256:6046af499eae34d2074c0b53f9a8b404716d415e4a03e68bc1d2f8064f2b027 node1 Running Runnin 32 minutes ago w48spazhbmxcmbjfi54gs7x90 voting_redis.1 redis:alpine@sha256:9cd405cd1ec1410eaab064a1383d0d8854d1ef74a54e1e4a92fb4ec7bdc3ee7 node2 Running Runnin 32 minutes ago 6jj1m02freg1n3z9n1evrzsbl voting_visualizer.1 dockersamples/visualizer:stable@sha256:f924ad66c8e94b10baaf7bdb9cd491ef4e982a1d048a56a17e02bf5945401e5 node1 Running Runnin 32 minutes ago kqgdmededccbhz2wuc0e9hx7g voting_vote.2 dockersamples/examplevotingapp_vote:before@sha256:8e64b182c87de902f2b72321c89b4af4e2b942d76d0b772532ff27ec4c6ebf6 node2 Running Runnin 32 minutes ago t72q3z038jehe1wbh9gdum076 voting_redis.2 redis:alpine@sha256:9cd405cd1ec1410eaab064a1383d0d8854d1ef74a54e1e4a92fb4ec7bdc3ee7 node3 Running Runnin 32 minutes ago
-q
或--quiet
选项只显示在堆栈中的任务标识。此示例输出“投票”堆栈的所有任务ID;
$ docker stack ps -q voting xim5bcqtgk1b q7yik0ks1in6 rx5yo0866nfx tz6j82jnwrx7 w48spazhbmxc 6jj1m02freg1 kqgdmededccb t72q3z038jeh
此选项可用于执行批处理操作。例如,可以将任务ID用作其他命令的输入,例如docker inspect
.下面的示例检查“表决”堆栈的所有任务;
$ docker inspect $(docker stack ps -q voting)[ { "ID": "xim5bcqtgk1b1gk0krq1", "Version": {(...)