Docker 17
引擎: CLI | Engine: CLI

docker service ls

docker service ls

描述

列表服务

使用

docker service ls [OPTIONS]

备选方案

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

父命令

命令描述
docker service 管理服务

相关命令

命令描述
docker service create创建一项新服务
docker service inspect显示一项或多项服务的详细信息
docker service logs获取服务或任务的日志
docker service ls列出服务
docker service ps列出一项或多项服务的任务
docker service rm删除一项或多项服务
docker service scale扩展一个或多个复制服务
docker service update更新服务

扩展描述

此命令在以管理器为目标运行时,列出服务在群集中运行。

实例

在管理节点上:

$ 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

REPLICAS列显示两个实际和所需服务的任务数。

过滤

过滤标志(-f--filter)格式为 “key = value”。如果有多个过滤器,则传递多个标志(例如--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

标签

标签过滤器根据单独存在标签或标签和值来匹配服务。

下面的筛选器将所有服务与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 服务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