docs/content/manuals/engine/swarm/swarm-tutorial/inspect-service.md

130 lines
3.8 KiB
Markdown

---
description: Inspect the application
keywords: tutorial, cluster management, swarm mode, get started
title: Inspect a service on the swarm
weight: 40
notoc: true
---
When you have [deployed a service](deploy-service.md) to your swarm, you can use
the Docker CLI to see details about the service running in the swarm.
1. If you haven't already, open a terminal and ssh into the machine where you
run your manager node. For example, the tutorial uses a machine named
`manager1`.
2. Run `docker service inspect --pretty <SERVICE-ID>` to display the details
about a service in an easily readable format.
To see the details on the `helloworld` service:
```console
[manager1]$ docker service inspect --pretty helloworld
ID: 9uk4639qpg7npwf3fn2aasksr
Name: helloworld
Service Mode: REPLICATED
Replicas: 1
Placement:
UpdateConfig:
Parallelism: 1
ContainerSpec:
Image: alpine
Args: ping docker.com
Resources:
Endpoint Mode: vip
```
> [!TIP]
>
> To return the service details in json format, run the same command
without the `--pretty` flag.
```console
[manager1]$ docker service inspect helloworld
[
{
"ID": "9uk4639qpg7npwf3fn2aasksr",
"Version": {
"Index": 418
},
"CreatedAt": "2016-06-16T21:57:11.622222327Z",
"UpdatedAt": "2016-06-16T21:57:11.622222327Z",
"Spec": {
"Name": "helloworld",
"TaskTemplate": {
"ContainerSpec": {
"Image": "alpine",
"Args": [
"ping",
"docker.com"
]
},
"Resources": {
"Limits": {},
"Reservations": {}
},
"RestartPolicy": {
"Condition": "any",
"MaxAttempts": 0
},
"Placement": {}
},
"Mode": {
"Replicated": {
"Replicas": 1
}
},
"UpdateConfig": {
"Parallelism": 1
},
"EndpointSpec": {
"Mode": "vip"
}
},
"Endpoint": {
"Spec": {}
}
}
]
```
3. Run `docker service ps <SERVICE-ID>` to see which nodes are running the
service:
```console
[manager1]$ docker service ps helloworld
NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
helloworld.1.8p1vev3fq5zm0mi8g0as41w35 alpine worker2 Running Running 3 minutes
```
In this case, the one instance of the `helloworld` service is running on the
`worker2` node. You may see the service running on your manager node. By
default, manager nodes in a swarm can execute tasks just like worker nodes.
Swarm also shows you the `DESIRED STATE` and `CURRENT STATE` of the service
task so you can see if tasks are running according to the service
definition.
4. Run `docker ps` on the node where the task is running to see details about
the container for the task.
> [!TIP]
>
> If `helloworld` is running on a node other than your manager node,
you must ssh to that node.
```console
[worker2]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e609dde94e47 alpine:latest "ping docker.com" 3 minutes ago Up 3 minutes helloworld.1.8p1vev3fq5zm0mi8g0as41w35
```
## Next steps
Next, you'll change the scale for the service running in the swarm.
{{< button text="Change the scale" url="scale-service.md" >}}