docker node ps
| 描述 | 列出在一个或多个节点上运行的任务,默认为当前节点 |
|---|---|
| 用法 | docker node ps [OPTIONS] [NODE...] |
Swarm 此命令适用于 Swarm 编排器。
描述
列出 Docker 已知的所有节点上的所有任务。您可以使用 -f 或 --filter 标志进行过滤。有关可用过滤选项的更多信息,请参阅过滤部分。
注意这是一个集群管理命令,必须在 Swarm 管理器节点上执行。要了解管理器和工作器,请参阅文档中的Swarm 模式部分。
选项
| 选项 | 默认值 | 描述 |
|---|---|---|
-f, --filter | 根据提供的条件筛选输出 | |
--format | 使用 Go 模板美观地打印任务 | |
--no-resolve | 不将 ID 映射到名称 | |
--no-trunc | 不截断输出 | |
-q, --quiet | 仅显示任务 ID |
示例
$ docker node ps swarm-manager1
NAME IMAGE NODE DESIRED STATE CURRENT STATE
redis.1.7q92v0nr1hcgts2amcjyqg3pq redis:7.4.1 swarm-manager1 Running Running 5 hours
redis.6.b465edgho06e318egmgjbqo4o redis:7.4.1 swarm-manager1 Running Running 29 seconds
redis.7.bg8c07zzg87di2mufeq51a2qp redis:7.4.1 swarm-manager1 Running Running 5 seconds
redis.9.dkkual96p4bb3s6b10r7coxxt redis:7.4.1 swarm-manager1 Running Running 5 seconds
redis.10.0tgctg8h8cech4w0k0gwrmr23 redis:7.4.1 swarm-manager1 Running Running 5 seconds
过滤 (--filter)
过滤标志(-f 或 --filter)的格式为“key=value”。如果有多个过滤器,则传递多个标志(例如,--filter "foo=bar" --filter "bif=baz")。
目前支持的过滤器有:
name
name 过滤器匹配任务名称的全部或部分。
以下过滤器匹配名称中包含 redis 字符串的所有任务。
$ docker node ps -f name=redis swarm-manager1
NAME IMAGE NODE DESIRED STATE CURRENT STATE
redis.1.7q92v0nr1hcgts2amcjyqg3pq redis:7.4.1 swarm-manager1 Running Running 5 hours
redis.6.b465edgho06e318egmgjbqo4o redis:7.4.1 swarm-manager1 Running Running 29 seconds
redis.7.bg8c07zzg87di2mufeq51a2qp redis:7.4.1 swarm-manager1 Running Running 5 seconds
redis.9.dkkual96p4bb3s6b10r7coxxt redis:7.4.1 swarm-manager1 Running Running 5 seconds
redis.10.0tgctg8h8cech4w0k0gwrmr23 redis:7.4.1 swarm-manager1 Running Running 5 seconds
id
id 过滤器匹配任务的 ID。
$ docker node ps -f id=bg8c07zzg87di2mufeq51a2qp swarm-manager1
NAME IMAGE NODE DESIRED STATE CURRENT STATE
redis.7.bg8c07zzg87di2mufeq51a2qp redis:7.4.1 swarm-manager1 Running Running 5 seconds
标签
label 过滤器根据是否存在 label 或 label 和值来匹配任务。
以下过滤器匹配具有 usage 标签的任务,无论其值如何。
$ docker node ps -f "label=usage"
NAME IMAGE NODE DESIRED STATE CURRENT STATE
redis.6.b465edgho06e318egmgjbqo4o redis:7.4.1 swarm-manager1 Running Running 10 minutes
redis.7.bg8c07zzg87di2mufeq51a2qp redis:7.4.1 swarm-manager1 Running Running 9 minutes
desired-state
desired-state 过滤器可以接受 running、shutdown 或 accepted 值。
格式化输出 (--format)
格式化选项 (--format) 使用 Go 模板美观地打印任务输出。
Go 模板的有效占位符如下所示
| 占位符 | 描述 |
|---|---|
.ID | 任务 ID |
.Name | 任务名称 |
.Image | 任务镜像 |
.Node | 节点 ID |
.DesiredState | 任务的期望状态(running、shutdown 或 accepted) |
.CurrentState | 任务的当前状态 |
.Error | 错误 |
.Ports | 任务发布的端口 |
使用 --format 选项时,node ps 命令将完全按照模板声明输出数据,或者在使用 table 指令时,还包括列标题。
以下示例使用不带标题的模板,并输出所有任务的 Name 和 Image 条目,以冒号 (:) 分隔
$ docker node ps --format "{{.Name}}: {{.Image}}"
top.1: busybox
top.2: busybox
top.3: busybox