docker节点ps

描述列出一个或多个节点上运行的任务,默认为当前节点
用法docker node ps [OPTIONS] [NODE...]

Swarm 此命令与 Swarm 协调器配合使用。

描述

列出 Docker 知道的节点上的所有任务。您可以使用 -f--filter标志进行过滤。有关可用过滤器选项的更多信息,请参阅 过滤部分。

笔记

这是集群管理命令,必须在 swarm manager 节点上执行。要了解管理器和工作器,请参阅 文档中的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)格式为“key=value”。如果有多个过滤器,则传递多个标志(例如,--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的存在来匹配任务。labellabel

以下过滤器将任务与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任务编号
.Name任务名称
.Image任务形象
.Node节点号
.DesiredState任务的所需状态(runningshutdownaccepted
.CurrentState任务的当前状态
.Error错误
.Ports任务发布端口

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

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

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

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