Docker 服务 PS

描述列出一个或多个服务的任务
用法docker service ps [OPTIONS] SERVICE [SERVICE...]

此命令适用于 Swarm 编排器。

描述

列出作为指定服务的一部分运行的任务。

注意

这是一个集群管理命令,必须在 swarm 上执行 Manager 节点。要了解 Manager 和 worker,请参阅 文档。

选项

选择违约描述
-f, --filter根据提供的条件筛选输出
--format使用 Go 模板的精美打印任务
--no-resolve不要将 ID 映射到名称
--no-trunc不截断输出
-q, --quiet仅显示任务 ID

例子

列出属于服务的任务

以下命令显示属于服务的所有任务:redis

$ docker service ps redis

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

除了运行任务之外,输出还显示任务历史记录。为 示例,在更新服务以使用镜像后,输出 可能看起来像这样:redis:7.4.1

$ docker service ps redis

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

任务历史记录中的项目数由初始化召集时设置的选项决定。您可以 使用 docker swarm update 命令更改任务历史记录保留限制。--task-history-limit

部署服务时,docker 会解析服务镜像的摘要, 并将服务固定到该摘要。默认情况下,摘要不显示,但显示 如果使用,则打印。该选项还会显示 未截断的任务 ID 和错误消息,如下所示 例:--no-trunc--no-trunc

$ docker service ps --no-trunc redis

ID                          NAME         IMAGE                                                                                NODE      DESIRED STATE  CURRENT STATE            ERROR                                                                                           PORTS
50qe8lfnxaxksi9w2a704wkp7   redis.1      redis:7.4.1@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842  manager1  Running        Running 5 minutes ago
ky2re9oz86r9556i2szb8a8af   \_ redis.1   redis:7.4.0@sha256:f8829e00d95672c48c60f468329d6693c4bdd28d1f057e755f8ba8b40008682e  worker2   Shutdown       Shutdown 5 minutes ago
bk658fpbex0d57cqcwoe3jthu   redis.2      redis:7.4.1@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842  worker2   Running        Running 5 seconds
nvjljf7rmor4htv7l8rwcx7i7   \_ redis.2   redis:7.4.1@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842  worker2   Shutdown       Rejected 5 minutes ago   "No such image: redis@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842"

筛选 (--filter)

筛选标志 ( 或 ) 格式是一对。如果有 是多个过滤器,则传递多个标志(例如 )。 多个过滤器标志将合并为一个过滤器。例如,返回 both 和 tasks。-f--filterkey=value--filter "foo=bar" --filter "bif=baz"OR-f name=redis.1 -f name=redis.7redis.1redis.7

当前支持的筛选器包括:

身份证

筛选条件匹配任务 ID 的所有或前缀。id

$ docker service ps -f "id=8" redis

ID             NAME      IMAGE        NODE      DESIRED STATE  CURRENT STATE      ERROR  PORTS
8ryt076polmc   redis.4   redis:7.4.1  worker1   Running        Running 9 seconds
8eaxrb2fqpbn   redis.10  redis:7.4.1  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:7.4.1  manager1  Running        Running 8 seconds

节点

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

$ docker service ps -f "node=manager1" redis

ID            NAME      IMAGE        NODE      DESIRED STATE  CURRENT STATE      ERROR  PORTS
0qihejybwf1x  redis.1   redis:7.4.1  manager1  Running        Running 8 seconds
1x0v8yomsncd  redis.5   redis:7.4.1  manager1  Running        Running 8 seconds
3w1wu13yupln  redis.9   redis:7.4.1  manager1  Running        Running 8 seconds
8eaxrb2fqpbn  redis.10  redis:7.4.1  manager1  Running        Running 8 seconds

desired-state (所需状态)

筛选器可以采用值 、 、 或 。desired-staterunningshutdownaccepted

设置输出格式 (--format)

格式选项 () pretty-prints 任务输出 使用 Go 模板。--format

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

占 位 符描述
.ID任务 ID
.Name任务名称
.Image任务镜像
.Node节点 ID
.DesiredState任务的所需状态(、 或runningshutdownaccepted)
.CurrentState任务的当前状态
.Error错误
.Ports任务已发布端口

使用该选项时,该命令将 完全按照模板声明的方式输出数据,或者在使用指令时,还包括列标题。--formatservice pstable

以下示例使用不带标头的模板,并输出所有任务的 and 条目(以冒号()分隔):NameImage:

$ docker service ps --format "{{.Name}}: {{.Image}}" top

top.1: busybox
top.2: busybox
top.3: busybox