docker service inspect
Description
Display detailed information on one or more services
API 1.24+
The client and daemon API must both be at least
1.24
to use this command. Use the docker version
command on the client to check
your client and daemon API versions.
Swarm This command works with the Swarm orchestrator.
Usage
docker service inspect [OPTIONS] SERVICE [SERVICE...]
Extended description
Inspects the specified service.
By default, this renders all results in a JSON array. If a format is specified, the given template will be executed for each result.
Go’s text/template package describes all the details of the format.
Note
This is a cluster management command, and must be executed on a swarm manager node. To learn about managers and workers, refer to the Swarm mode section in the documentation.
For example uses of this command, refer to the examples section below.
Options
Name, shorthand | Default | Description |
--format , -f |
Format the output using the given Go template | |
--pretty |
Print the information in a human friendly format |
Examples
Inspect a service by name or ID
You can inspect a service, either by its name, or ID
For example, given the following service;
$ docker service ls
ID NAME MODE REPLICAS IMAGE
dmu1ept4cxcf redis replicated 3/3 redis:3.0.6
Both docker service inspect redis
, and docker service inspect dmu1ept4cxcf
produce the same result:
$ 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
},
...
}
]
Formatting
You can print the inspect output in a human-readable format instead of the default
JSON output, by using the --pretty
option:
$ 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
You can also use --format pretty
for the same effect.
Find the number of tasks running as part of a service
The --format
option can be used to obtain specific information about a
service. For example, the following command outputs the number of replicas
of the “redis” service.
$ docker service inspect --format='{{.Spec.Mode.Replicated.Replicas}}' redis
10
Parent command
Command | Description |
---|---|
docker service | Manage services |
Related commands
Command | Description |
docker service create | Create a new service |
docker service inspect | Display detailed information on one or more services |
docker service logs | Fetch the logs of a service or task |
docker service ls | List services |
docker service ps | List the tasks of one or more services |
docker service rm | Remove one or more services |
docker service rollback | Revert changes to a service’s configuration |
docker service scale | Scale one or multiple replicated services |
docker service update | Update a service |