Docker 服务检查

描述显示有关一项或多项服务的详细信息
用法docker service inspect [OPTIONS] SERVICE [SERVICE...]

此命令适用于 Swarm 编排器。

描述

检查指定的服务。

默认情况下,这会将所有结果呈现在 JSON 数组中。如果指定了格式,则 将为每个结果执行给定的模板。

Go 的文本/模板包 介绍了格式的所有详细信息。

注意

这是一个集群管理命令,必须在 swarm 上执行 Manager 节点。要了解 Manager 和 worker,请参阅 文档。

选项

选择违约描述
-f, --format使用自定义模板设置输出格式:
'json':以 JSON 格式
打印'TEMPLATE':使用给定的 Go 模板打印输出。
有关使用模板设置输出格式的更多信息,请参阅 https://docs.docker.com/go/formatting/
--pretty以用户友好的格式打印信息

例子

按名称或 ID 检查服务

您可以按服务名称ID 检查服务

例如,给定以下服务;

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

和 都会产生相同的结果: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:7.4.1"
        },
        "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)

您可以以人类可读的格式打印 inspect 输出,而不是默认格式 JSON 输出,使用选项:--pretty

$ 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” 服务。--format

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

10