Docker 17
引擎: CLI | Engine: CLI

docker service ps

docker service ps

描述

列出一个或多个服务的任务

使用

docker service ps [OPTIONS] SERVICE [SERVICE...]

备选方案

名字,简写默认描述
--filter, -f 根据提供的条件过滤输出
--format 使用Go模板的漂亮打印任务
--no-resolve 不要将ID映射到名称
--no-TRUNC不要截断输出
--quiet,-q只显示任务ID

父命令

命令描述
docker service 管理服务

相关命令

命令描述
docker service create创建一项新服务
docker service inspect显示一项或多项服务的详细信息
docker service logs获取服务或任务的日志
docker service ls列出服务
docker service ps列出一项或多项服务的任务
docker service rm删除一项或多项服务
docker service scale扩展一个或多个复制服务
docker service update更新服务

扩展描述

列出作为指定服务的一部分运行的任务。必须针对管理器节点运行此命令。

实例

列出服务的一部分任务。

下面的命令显示作为redis服务:

$ docker service ps redis ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS 0qihejybwf1x redis.1 redis:3.0.5 manager1 Running Running 8 seconds bk658fpbex0d redis.2 redis:3.0.5 worker2 Running Running 9 seconds 5ls5s5fldaqg redis.3 redis:3.0.5 worker1 Running Running 9 seconds 8ryt076polmc redis.4 redis:3.0.5 worker1 Running Running 9 seconds 1x0v8yomsncd redis.5 redis:3.0.5 manager1 Running Running 8 seconds 71v7je3el7rr redis.6 redis:3.0.5 worker2 Running Running 9 seconds 4l3zm9b7tfr7 redis.7 redis:3.0.5 worker2 Running Running 9 seconds 9tfpyixiy2i7 redis.8 redis:3.0.5 worker1 Running Running 9 seconds 3w1wu13yupln redis.9 redis:3.0.5 manager1 Running Running 8 seconds 8eaxrb2fqpbn redis.10 redis:3.0.5 manager1 Running Running 8 seconds

除了运行任务外,输出还显示任务历史记录。例如,在更新服务以使用redis:3.0.6图像之后,输出可能如下所示:

$ docker service ps redis ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS 50qe8lfnxaxk redis.1 redis:3.0.6 manager1 Running Running 6 seconds ago ky2re9oz86r9 \_ redis.1 redis:3.0.5 manager1 Shutdown Shutdown 8 seconds ago 3s46te2nzl4i redis.2 redis:3.0.6 worker2 Running Running less than a second ago nvjljf7rmor4 \_ redis.2 redis:3.0.6 worker2 Shutdown Rejected 23 seconds ago "No such image: redis@sha256:6…" vtiuz2fpc0yb \_ redis.2 redis:3.0.5 worker2 Shutdown Shutdown 1 second ago jnarweeha8x4 redis.3 redis:3.0.6 worker1 Running Running 3 seconds ago vs448yca2nz4 \_ redis.3 redis:3.0.5 worker1 Shutdown Shutdown 4 seconds ago jf1i992619ir redis.4 redis:3.0.6 worker1 Running Running 10 seconds ago blkttv7zs8ee \_ redis.4 redis:3.0.5 worker1 Shutdown Shutdown 11 seconds ago

任务历史记录中的项数由--task-history-limit初始化群集时设置的选项。属性更改任务历史记录保留限制使用docker swarm update命令。

部署服务时,对接者解析服务映像的摘要,并将服务引脚到该摘要。摘要在默认情况下不显示,但如果--no-trunc被使用了。大--no-trunc选项还显示非截断的任务ID和错误消息,如下所示;

$ docker service ps --no-trunc redis ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS 50qe8lfnxaxksi9w2a704wkp7 redis.1 redis:3.0.6@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842 manager1 Running Running 5 minutes ago ky2re9oz86r9556i2szb8a8af \_ redis.1 redis:3.0.5@sha256:f8829e00d95672c48c60f468329d6693c4bdd28d1f057e755f8ba8b40008682e worker2 Shutdown Shutdown 5 minutes ago bk658fpbex0d57cqcwoe3jthu redis.2 redis:3.0.6@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842 worker2 Running Running 5 seconds nvjljf7rmor4htv7l8rwcx7i7 \_ redis.2 redis:3.0.6@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842 worker2 Shutdown Rejected 5 minutes ago "No such image: redis@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842"

过滤

过滤标志(-f--filter)格式是一key=value对。如果有多个过滤器,则传递多个标志(例如--filter "foo=bar" --filter "bif=baz")。多个过滤器标志被组合为一个OR过滤器。例如,-f name=redis.1 -f name=redis.7返回两者redis.1redis.7任务。

目前支持的过滤器是:

  • ID

  • 名称

  • 节点

  • 期望状态

ID

id筛选器与任务 ID 的全部或前缀匹配。

$ docker service ps -f "id=8" redis ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS 8ryt076polmc redis.4 redis:3.0.6 worker1 Running Running 9 seconds 8eaxrb2fqpbn redis.10 redis:3.0.6 manager1 Running Running 8 seconds

名称

name筛选任务名称匹配。

$ docker service ps -f "name=redis.1" redis ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS qihejybwf1x5 redis.1 redis:3.0.6 manager1 Running Running 8 seconds

节点

node筛选器匹配节点名称或节点 ID。

$ docker service ps -f "node=manager1" redis ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS 0qihejybwf1x redis.1 redis:3.0.6 manager1 Running Running 8 seconds 1x0v8yomsncd redis.5 redis:3.0.6 manager1 Running Running 8 seconds 3w1wu13yupln redis.9 redis:3.0.6 manager1 Running Running 8 seconds 8eaxrb2fqpbn redis.10 redis:3.0.6 manager1 Running Running 8 seconds

期望状态

desired-state过滤器可以取值runningshutdown,或accepted

格式化

格式化选项--format使用GO模板打印任务输出。

Go模板的有效占位符列在下面:

占位符描述
.ID服务ID
.Name服务名称
.Mode服务模式(复制,全局)
.Replicas服务副本
.Image服务形象
.Ports服务端口以入口模式发布

当使用--format选项,service ps命令将按照模板声明的方式输出数据,或者在使用table指令,还包括列标题。

下面的示例使用没有标头的模板,并输出NameImage用冒号分隔的项用于所有任务:

$ docker service ps --format "{{.Name}}: {{.Image}}" top top.1: busybox top.2: busybox top.3: busybox