Docker 节点 PS

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

此命令适用于 Swarm 编排器。

描述

列出 Docker 知道的节点上的所有任务。您可以使用-f--filter旗。请参阅 过滤 部分了解更多信息 有关可用筛选条件选项的信息。

注意

这是一个集群管理命令,必须在 swarm 上执行 Manager 节点。要了解 Manager 和 worker,请参阅 文档。

选项

选择违约描述
-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筛选任务名称的全部或部分匹配项。

以下筛选条件匹配名称中包含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

身份证

idfilter 匹配任务的 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

标签

labelfilter 根据是否存在label单独或label以及 价值。

以下筛选条件将任务与usagelabel 的 intent 值。

$ 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-statefilter 可以接受running,shutdownaccepted.

设置输出格式 (--format)

格式选项 (--format) pretty-prints 任务输出 使用 Go 模板。

下面列出了 Go 模板的有效占位符:

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

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

以下示例使用不带标头的模板,并输出NameImage条目之间用冒号 (:) 的所有任务:

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

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