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://docker-docs.dev.org.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: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
狀態,它還會顯示作業的完成狀態,即已完成的任務數量除以作業將執行的總任務數量。
篩選 (--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:3.0.6
label
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
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:3.0.6
格式化輸出 (--format)
格式化選項 (--format
) 使用 Go 樣板來美化服務輸出。
Go 樣板的有效佔位符如下所示
佔位符 | 說明 |
---|---|
.ID | 服務 ID |
.Name | 服務名稱 |
.Mode | 服務模式 (replicated,global) |
.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
要以 JSON 格式列出所有服務,請使用 json
指令
$ docker service ls --format json
{"ID":"ssniordqolsi","Image":"hello-world:latest","Mode":"replicated","Name":"hello","Ports":"","Replicas":"0/1"}