首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

docker service ps

描述

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

使用

代码语言:javascript
复制
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服务:

代码语言:javascript
复制
$ 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图像之后,输出可能如下所示:

代码语言:javascript
复制
$ 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和错误消息,如下所示;

代码语言:javascript
复制
$ 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 的全部或前缀匹配。

代码语言:javascript
复制
$ 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筛选任务名称匹配。

代码语言:javascript
复制
$ 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。

代码语言:javascript
复制
$ 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用冒号分隔的项用于所有任务:

代码语言:javascript
复制
$ docker service ps --format "{{.Name}}: {{.Image}}" top
top.1: busybox
top.2: busybox
top.3: busybox

扫码关注腾讯云开发者

领取腾讯云代金券