docker service inspect

Estimated reading time: 3 minutes


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.


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


Name, shorthandDefaultDescription
--format , -fFormat the output using the given Go template
--prettyPrint the information in a human friendly format

Parent command

docker serviceManage services
docker service createCreate a new service
docker service inspectDisplay detailed information on one or more services
docker service logsFetch the logs of a service or task
docker service lsList services
docker service psList the tasks of one or more services
docker service rmRemove one or more services
docker service rollbackRevert changes to a service’s configuration
docker service scaleScale one or multiple replicated services
docker service updateUpdate a service

Extended description

Inspects the specified service. This command has to be run targeting a manager node.

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.


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


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
 - org.example.projectname=demo-app
Service Mode:	REPLICATED
 Replicas:		5
 Parallelism:	0
 On failure:	pause
 Max failure ratio:	0
 Image:		nginx:alpine
Networks:	net1
Endpoint Mode:  vip
 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