Inspeccionar un servicio en el swarm
Una vez que hayas implementado un servicio en tu swarm, puedes utilizar la CLI de Docker para ver los detalles sobre el servicio que se ejecuta en el swarm.
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.Ejecuta
docker service inspect --pretty <SERVICE-ID>para mostrar los detalles del servicio en un formato legible.Para ver los detalles del servicio
helloworld:[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: vipTipPara devolver los detalles del servicio en formato JSON, ejecuta el mismo comando sin la bandera
--pretty.[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": {} } } ]Ejecuta
docker service ps <SERVICE-ID>para ver qué nodos están ejecutando el servicio:[manager1]$ docker service ps helloworld NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS helloworld.1.8p1vev3fq5zm0mi8g0as41w35 alpine worker2 Running Running 3 minutesEn este caso, la única instancia del servicio
helloworldse está ejecutando en el nodoworker2. 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.Ejecuta
docker psen el nodo donde se ejecuta la tarea para ver los detalles sobre el contenedor de la misma.TipSi
helloworldse ejecuta en un nodo diferente de tu nodo administrador, debes conectarte por SSH a ese nodo.[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