service inspect

使い方:  docker service inspect [オプション] サービス [サービス...]

サービスの調査(Inspect)

オプション:
  -f, --format string   指定した go テンプレートの書式で出力
      --help            使い方の表示
  -p, --pretty          人間が読みやすい形式で情報を表示

指定したサービスを調査します。このコマンドの実行対象はマネージャ・ノードです。

デフォルトでは、全てを JSON アレイ形式で返します。書式を指定したら、指定したテンプレートで各結果を処理します。

全ての書式に関する詳細は、Go 言語の text/template にあります。

例 =========-

名前か ID でサービスを調査

名前か ID のどちらかを指定し、サービスを調査できます。

たとえば、次のサービスがあるとします。

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

docker service inspect redisdocker service inspect dmu1ept4cxcf は、どちらも同じ結果を生成します。

$ docker service inspect redis
[
    {
        "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 オプションを使えば、デフォルトの JSON 出力ではなく、人間が読みやすい書式で調査結果を表示できます。

$ docker service inspect --pretty frontend
ID:     c8wgl7q4ndfd52ni6qftkvnnp
Name:       frontend
Labels:
 - org.example.projectname=demo-app
Mode:       REPLICATED
 Replicas:      5
Placement:
 Strategy:  Spread
UpdateConfig:
 Parallelism:   0
ContainerSpec:
 Image:     nginx:alpine
Resources:
Reservations:
Limits:
Ports:
 Name =
 Protocol = tcp
 TargetPort = 443
 PublishedPort = 4443

サービスを形成する実行中のタスク数を調べる

サービスに関する特定の情報を取得するには、--format オプションが使えます。たとえば、次のコマンドは「redis」サービスのレプリカ数を表示します。

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