docker service inspect

docker service inspect

docker service inspect는 하나 이상의 서비스에 대한 상세 정보를 표시하는 명령이에요. 서비스의 구성·상태를 JSON이나 형식화된 출력으로 확인하고 싶을 때 써요.

출처: 문서

본문

지정된 서비스를 검사해요. 기본적으로 모든 결과를 JSON 배열로 렌더링해요. 형식을 지정하면 각 결과에 대해 주어진 템플릿이 실행돼요. Go의 text/template 패키지가 형식의 모든 세부 사항을 설명해요.

Swarm: 이 명령은 Swarm 오케스트레이터와 함께 작동해요.

참고: 이 명령은 클러스터 관리 명령이므로 Swarm 매니저 노드에서 실행해야 해요. 매니저와 워커에 대해 알아보려면 문서의 Swarm mode 섹션을 참고하세요.

사용법 (Usage)

docker service inspect [OPTIONS] SERVICE [SERVICE...]

옵션 (Options)

옵션 기본값 설명
-f, --format 사용자 지정 템플릿으로 출력을 형식화해요: 'json': JSON 형식으로 출력. 'TEMPLATE': 주어진 Go 템플릿으로 출력. 템플릿으로 출력 형식 지정에 대한 자세한 내용은 https://docs.docker.com/go/formatting/ 참고
--pretty 사람이 읽기 쉬운 형식으로 정보를 출력해요

예제 (Examples)

이름 또는 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)

기본 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" 서비스의 복제본 수를 출력해요.

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

10

더 알아보기 (Learn more)