码头工人服务ps

描述

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

API 1.24+  客户端和守护程序API都必须至少为 1.24, 才能使用此命令。docker version在客户端上使用命令检查客户端和守护程序API版本。

Swarm此命令与Swarm协调器一起使用。

用法

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

扩展说明

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

笔记

这是集群管理命令,必须在集群管理器节点上执行。要了解管理人员和工作人员,请参阅文档中的“ 群集模式”部分

有关此命令的示例用法,请参阅下面的示例部分

选项

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

例子

列出服务中的任务

以下命令显示了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的前缀匹配。

$ 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 任务名称
.Image 任务图片
.Node 节点编号
.DesiredState 任务的理想状态(runningshutdown,或accepted
.CurrentState 任务的当前状态
.Error 错误
.Ports 任务发布的端口

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

以下示例使用没有标题的模板,Name并为所有任务输出Image用冒号(:)分隔的 和条目:

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

上级命令

命令 描述
码头工人服务 管理服务
命令 描述
docker服务创建 创建一个新服务
码头工人服务检查 显示一项或多项服务的详细信息
码头工人服务日志 提取服务或任务的日志
码头工人服务ls 列出服务
码头工人服务ps 列出一项或多项服务的任务
码头工人服务 删除一项或多项服务
docker服务回滚 将更改还原到服务的配置
码头工人服务规模 扩展一个或多个复制服务
码头工人服务更新 更新服务