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:3.0.6  swarm-manager1  Running        Running 5 hours
redis.6.b465edgho06e318egmgjbqo4o   redis:3.0.6  swarm-manager1  Running        Running 29 seconds
redis.7.bg8c07zzg87di2mufeq51a2qp   redis:3.0.6  swarm-manager1  Running        Running 5 seconds
redis.9.dkkual96p4bb3s6b10r7coxxt   redis:3.0.6  swarm-manager1  Running        Running 5 seconds
redis.10.0tgctg8h8cech4w0k0gwrmr23  redis:3.0.6  swarm-manager1  Running        Running 5 seconds

筛选 (--filter)

筛选标志 (-f--filter) 格式为“键=值”。如果有多个筛选器,则传递多个标志(例如,--filter "foo=bar" --filter "bif=baz")。

当前支持的筛选器为:

名称

name 筛选器匹配任务名称的全部或部分内容。

以下筛选器匹配名称包含字符串 redis 的所有任务。

$ docker node ps -f name=redis swarm-manager1

NAME                                IMAGE        NODE            DESIRED STATE  CURRENT STATE
redis.1.7q92v0nr1hcgts2amcjyqg3pq   redis:3.0.6  swarm-manager1  Running        Running 5 hours
redis.6.b465edgho06e318egmgjbqo4o   redis:3.0.6  swarm-manager1  Running        Running 29 seconds
redis.7.bg8c07zzg87di2mufeq51a2qp   redis:3.0.6  swarm-manager1  Running        Running 5 seconds
redis.9.dkkual96p4bb3s6b10r7coxxt   redis:3.0.6  swarm-manager1  Running        Running 5 seconds
redis.10.0tgctg8h8cech4w0k0gwrmr23  redis:3.0.6  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:3.0.6  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:3.0.6  swarm-manager1  Running        Running 10 minutes
redis.7.bg8c07zzg87di2mufeq51a2qp  redis:3.0.6  swarm-manager1  Running        Running 9 minutes

预期状态

desired-state 筛选器可以取值 runningshutdownaccepted

格式化输出 (--format)

格式化选项 (--format) 使用 Go 模板漂亮打印任务输出。

Go 模板的有效占位符如下所示:

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

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

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

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

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