docker service ls
描述 | 列出服務 |
---|---|
用法 | docker service ls [選項] |
別名 | docker service list |
Swarm 此命令適用於 Swarm 編排器。
描述
此命令列出在 Swarm 中執行的服務。
注意這是一個叢集管理命令,必須在 Swarm 管理器節點上執行。要了解管理器和工作器,請參閱文件中的Swarm 模式部分。
選項
選項 | 預設值 | 描述 |
---|---|---|
-f, --filter | 根據提供的條件篩選輸出 | |
--format | 使用自定義模板格式化輸出 'table': 以帶列標題的表格格式列印輸出(預設) 'table TEMPLATE': 使用給定的 Go 模板以表格格式列印輸出 'json': 以 JSON 格式列印 'TEMPLATE': 使用給定的 Go 模板列印輸出。 有關使用模板格式化輸出的更多資訊,請參閱https://docs.docker.net.tw/go/formatting/ | |
-q, --quiet | 僅顯示 ID |
示例
在管理節點上
$ docker service ls
ID NAME MODE REPLICAS IMAGE
c8wgl7q4ndfd frontend replicated 5/5 nginx:alpine
dmu1ept4cxcf redis replicated 3/3 redis:7.4.1
iwe3278osahj mongo global 7/7 mongo:3.3
hh08h9uu8uwr job replicated-job 1/1 (3/5 completed) nginx:latest
“REPLICAS”列顯示服務的實際任務數和期望任務數。如果服務處於“replicated-job”或“global-job”模式,它還會顯示已完成任務數(與作業將執行的總任務數相比)的作業完成狀態。
過濾 (--filter)
過濾標誌(-f
或 --filter
)的格式為“key=value”。如果有多個過濾器,則傳遞多個標誌(例如,--filter "foo=bar" --filter "bif=baz"
)。
目前支援的過濾器有:
id
“id”過濾器匹配服務 ID 的全部或字首。
以下過濾器匹配 ID 以“0bcjw”開頭的服務
$ docker service ls -f "id=0bcjw"
ID NAME MODE REPLICAS IMAGE
0bcjwfh8ychr redis replicated 1/1 redis:7.4.1
標籤
“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:7.4.1
以下過濾器僅匹配帶有 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:7.4.1
mode
“mode”過濾器匹配服務的模式(“replicated”或“global”)。
以下過濾器僅匹配“global”服務。
$ docker service ls --filter mode=global
ID NAME MODE REPLICAS IMAGE
w7y0v2yrn620 top global 1/1 busybox
name
“name”過濾器匹配服務名稱的全部或字首。
以下過濾器匹配名稱以“redis”開頭的服務。
$ docker service ls --filter name=redis
ID NAME MODE REPLICAS IMAGE
0bcjwfh8ychr redis replicated 1/1 redis:7.4.1
格式化輸出 (--format)
格式化選項(“--format”)使用 Go 模板美觀地列印服務輸出。
Go 模板的有效佔位符如下所示
佔位符 | 描述 |
---|---|
.ID | 服務 ID |
.Name | 服務名稱 |
.模式 | 服務模式(複製、全域性) |
.副本 | 服務副本 |
.Image | 服務映象 |
.Ports | 在入口模式下發布的服務埠 |
當使用“--format”選項時,“service ls”命令將按照模板宣告精確輸出資料,或者在使用“table”指令時,還包含列標題。
以下示例使用不帶標題的模板,並輸出所有服務的“ID”、“Mode”和“Replicas”條目,用冒號(“:”)分隔。
$ docker service ls --format "{{.ID}}: {{.Mode}} {{.Replicas}}"
0zmvwuiu3vue: replicated 10/10
fm6uf97exkul: global 5/5
要以 JSON 格式列出所有服務,請使用“json”指令。
$ docker service ls --format json
{"ID":"ssniordqolsi","Image":"hello-world:latest","Mode":"replicated","Name":"hello","Ports":"","Replicas":"0/1"}