码头工人服务ls

描述

列出服务

API 1.24+  客户端和守护程序API都必须至少为 1.24, 才能使用此命令。docker version在客户端上使用命令检查客户端和守护程序API版本。

Swarm此命令与Swarm协调器一起使用。

用法

$ docker service ls [OPTIONS]

扩展说明

此命令列出了正在群中运行的服务。

笔记

这是集群管理命令,必须在集群管理器节点上执行。要了解管理人员和工作人员,请参阅文档中的“ 群集模式”部分

有关此命令的示例用法,请参阅下面的示例部分

选项

名称,简写 默认 描述
--filter-f 根据提供的条件过滤输出
--format 使用Go模板的精美打印服务
--quiet-q 仅显示ID

例子

在管理器节点上:

$ docker service ls

ID            NAME      MODE            REPLICAS             IMAGE
c8wgl7q4ndfd  frontend  replicated      5/5                  nginx:alpine
dmu1ept4cxcf  redis     replicated      3/3                  redis:3.0.6
iwe3278osahj  mongo     global          7/7                  mongo:3.3
hh08h9uu8uwr  job       replicated-job  1/1 (3/5 completed)  nginx:latest

REPLICAS列同时显示了服务的实际任务数和期望任务数。如果该服务位于replicated-job或中global-job,它将另外显示作业的完成状态,即已完成的任务占该作业将执行的总任务数。

筛选

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

当前支持的过滤器是:

ID

id过滤器匹配服务的ID的全部或部分。

$ docker service ls -f "id=0bcjw"
ID            NAME   MODE        REPLICAS  IMAGE
0bcjwfh8ychr  redis  replicated  1/1       redis:3.0.6

标签

label过滤器根据一个label或一个label和一个值的存在来匹配服务。

以下过滤器将所有服务与带有project标签的标签匹配,无论其值如何:

$ docker service ls --filter label=project
ID            NAME       MODE        REPLICAS  IMAGE
01sl1rp6nj5u  frontend2  replicated  1/1       nginx:alpine
36xvvwwauej0  frontend   replicated  5/5       nginx:alpine
74nzcxxjv6fq  backend    replicated  3/3       redis:3.0.6

以下过滤器仅将project带有带有project-a值标签的 服务进行匹配。

$ docker service ls --filter label=project=project-a
ID            NAME      MODE        REPLICAS  IMAGE
36xvvwwauej0  frontend  replicated  5/5       nginx:alpine
74nzcxxjv6fq  backend   replicated  3/3       redis:3.0.6

模式

mode过滤器上的模式(或者匹配replicated或者global服务的)。

以下过滤器仅匹配global服务。

$ docker service ls --filter mode=global
ID                  NAME                MODE                REPLICAS            IMAGE
w7y0v2yrn620        top                 global              1/1                 busybox

名称

name过滤器上的服务的名称的全部或部分匹配。

以下过滤器将匹配名称为的服务redis

$ docker service ls --filter name=redis
ID            NAME   MODE        REPLICAS  IMAGE
0bcjwfh8ychr  redis  replicated  1/1       redis:3.0.6

格式设定

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

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

占位符 描述
.ID 服务编号
.Name 服务名称
.Mode 服务模式(复制的,全局的)
.Replicas 服务副本
.Image 服务形象
.Ports 以入口模式发布的服务端口

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

下面的示例使用的模板没有报头,并输出 IDMode以及Replicas由冒号(分隔的条目:),用于所有服务:

$ docker service ls --format "{{.ID}}: {{.Mode}} {{.Replicas}}"

0zmvwuiu3vue: replicated 10/10
fm6uf97exkul: global 5/5

上级命令

命令 描述
码头工人服务 管理服务
命令 描述
docker服务创建 创建一个新服务
码头工人服务检查 显示一项或多项服务的详细信息
码头工人服务日志 提取服务或任务的日志
码头工人服务ls 列出服务
码头工人服务ps 列出一项或多项服务的任务
码头工人服务 删除一项或多项服务
docker服务回滚 将更改还原到服务的配置
码头工人服务规模 扩展一个或多个复制服务
码头工人服务更新 更新服务