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 redis와 docker 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