docker service inspect

說明顯示一或多個服務的詳細資訊
用法docker service inspect [選項] 服務 [服務...]

Swarm 此指令適用於 Swarm 編排器。

說明

檢查指定的服務。

預設情況下,這會以 JSON 陣列呈現所有結果。如果指定了格式,則會針對每個結果執行給定的範本。

Go 的 text/template 套件描述了格式的所有詳細資訊。

注意

這是一個叢集管理指令,必須在 swarm 管理節點上執行。若要瞭解管理員和工作節點,請參閱文件中Swarm 模式章節

選項

選項預設值說明
-f, --format使用自訂範本格式化輸出
'json':以 JSON 格式列印
'TEMPLATE':使用給定的 Go 範本列印輸出。
更多關於使用模板格式化輸出的資訊,請參閱 https://docker-docs.dev.org.tw/go/formatting/
--pretty以易於閱讀的格式印出資訊。

範例

透過名稱或 ID 檢查服務。

您可以透過服務的名稱ID來檢查服務。

例如,假設有以下服務:

$ docker service ls
ID            NAME   MODE        REPLICAS  IMAGE
dmu1ept4cxcf  redis  replicated  3/3       redis:3.0.6

docker service inspect redisdocker service inspect dmu1ept4cxcf 兩者都會產生相同的結果。

$ docker service inspect redis

輸出格式為 JSON,例如:

[
  {
    "ID": "dmu1ept4cxcfe8k8lhtux3ro3",
    "Version": {
      "Index": 12
    },
    "CreatedAt": "2016-06-17T18:44:02.558012087Z",
    "UpdatedAt": "2016-06-17T18:44:02.558012087Z",
    "Spec": {
      "Name": "redis",
      "TaskTemplate": {
        "ContainerSpec": {
          "Image": "redis:3.0.6"
        },
        "Resources": {
          "Limits": {},
          "Reservations": {}
        },
        "RestartPolicy": {
          "Condition": "any",
          "MaxAttempts": 0
        },
        "Placement": {}
      },
      "Mode": {
        "Replicated": {
          "Replicas": 1
        }
      },
      "UpdateConfig": {},
      "EndpointSpec": {
        "Mode": "vip"
      }
    },
    "Endpoint": {
      "Spec": {}
    }
  }
]
$ docker service inspect dmu1ept4cxcf

[
  {
    "ID": "dmu1ept4cxcfe8k8lhtux3ro3",
    "Version": {
      "Index": 12
    },
    ...
  }
]

格式化 (--pretty)

您可以使用 --pretty 選項,以易於閱讀的格式(而不是預設的 JSON 格式)印出檢查輸出。

$ docker service inspect --pretty frontend

ID:     c8wgl7q4ndfd52ni6qftkvnnp
Name:   frontend
Labels:
 - org.example.projectname=demo-app
Service Mode:   REPLICATED
 Replicas:      5
Placement:
UpdateConfig:
 Parallelism:   0
 On failure:    pause
 Max failure ratio: 0
ContainerSpec:
 Image:     nginx:alpine
Resources:
Networks:   net1
Endpoint Mode:  vip
Ports:
 PublishedPort = 4443
  Protocol = tcp
  TargetPort = 443
  PublishMode = ingress

您也可以使用 --format pretty 來達到相同的效果。

格式化輸出 (--format)

您可以使用 --format 選項來取得服務的特定資訊。例如,以下指令會輸出「redis」服務的複本數量。

$ docker service inspect --format='{{.Spec.Mode.Replicated.Replicas}}' redis

10