docker service inspect

Display detailed information on one or more services

Swarm This command works with the Swarm orchestrator.


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

Refer to the options section for an overview of available OPTIONS for this command.


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.


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.


Name, shorthand Default Description
--format , -f Format output using a custom template: ‘json’: Print in JSON format ‘TEMPLATE’: Print output using the given Go template. Refer to for more information about formatting output with templates
--pretty Print the information in a human friendly 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

The output is in JSON format, for example:

    "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 (--pretty)

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.

Format the output (--format)

You can use the --format option to obtain specific information about a 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


Parent command

Command Description
docker service Manage Swarm services
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