# Inspeccionar un servicio en el swarm


Una vez que hayas [implementado un servicio](/engine/swarm/swarm-tutorial/inspect-service/deploy-service/) en tu swarm, puedes utilizar la CLI de Docker para ver los detalles sobre el servicio que se ejecuta en el swarm.

1.  Si aún no lo has hecho, abre una terminal y conéctate por SSH a la máquina donde ejecutas tu nodo administrador. Por ejemplo, el tutorial utiliza una máquina llamada `manager1`.

2.  Ejecuta `docker service inspect --pretty <SERVICE-ID>` para mostrar los detalles del servicio en un formato legible.

    Para ver los detalles del servicio `helloworld`:

    ```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]
    >
    > Para devolver los detalles del servicio en formato JSON, ejecuta el mismo comando
    > sin la bandera `--pretty`.

    ```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": {}
            },
            "Spec": {
                "Replicated": {
                    "Replicas": 1
                }
            },
            "UpdateConfig": {
                "Parallelism": 1
            },
            "EndpointSpec": {
                "Mode": "vip"
            }
        },
        "Endpoint": {
            "Spec": {}
        }
    }
    ]
    ```

3.  Ejecuta `docker service ps <SERVICE-ID>` para ver qué nodos están ejecutando el servicio:

    ```console
    [manager1]$ docker service ps helloworld

    NAME                                    IMAGE   NODE     DESIRED STATE  CURRENT STATE           ERROR               PORTS
    helloworld.1.8p1vev3fq5zm0mi8g0as41w35  alpine  worker2  Running        Running 3 minutes
    ```

    En este caso, la única instancia del servicio `helloworld` se está ejecutando en el nodo `worker2`. Es posible que en tu caso veas el servicio ejecutándose en el nodo administrador. De manera predeterminada, los nodos administradores en un swarm pueden ejecutar tareas al igual que los nodos trabajadores.

    Swarm también te muestra el estado deseado (`DESIRED STATE`) y el estado actual (`CURRENT STATE`) de la tarea del servicio para que puedas ver si las tareas se están ejecutando de acuerdo con la definición del servicio.

4.  Ejecuta `docker ps` en el nodo donde se ejecuta la tarea para ver los detalles sobre el contenedor de la misma.

    > [!TIP]
    >
    > Si `helloworld` se ejecuta en un nodo diferente de tu nodo administrador,
    > debes conectarte por SSH a ese nodo.

    ```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
    ```

## Siguientes pasos

A continuación, cambiarás la escala del servicio que se ejecuta en el swarm.

[Cambiar la escala](/engine/swarm/swarm-tutorial/inspect-service/scale-service/)


