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
指令,还包括列标题。
下面的示例使用的模板没有报头,并输出ID
,Mode
以及Replicas
通过所有服务冒号分隔的条目:
$ docker service ls --format "{{.ID}}: {{.Mode}} {{.Replicas}}"
0zmvwuiu3vue: replicated 10/10
fm6uf97exkul: global 5/5