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.1
和redis.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
过滤器可以取值running
,shutdown
,或accepted
。
格式化
格式化选项--format
使用GO模板打印任务输出。
Go模板的有效占位符列在下面:
占位符 | 描述 |
---|---|
.ID | 服务ID |
.Name | 服务名称 |
.Mode | 服务模式(复制,全局) |
.Replicas | 服务副本 |
.Image | 服务形象 |
.Ports | 服务端口以入口模式发布 |
当使用--format
选项,service ps
命令将按照模板声明的方式输出数据,或者在使用table
指令,还包括列标题。
下面的示例使用没有标头的模板,并输出Name
和Image
用冒号分隔的项用于所有任务:
$ docker service ps --format "{{.Name}}: {{.Image}}" top
top.1: busybox
top.2: busybox
top.3: busybox