Inspecter un service sur le swarm
Lorsque vous avez déployé un service dans votre swarm, vous pouvez utiliser la CLI Docker pour voir les détails du service en cours d'exécution dans le swarm.
-
Si vous ne l'avez pas déjà fait, ouvrez un terminal et connectez-vous en ssh à la machine où vous exécutez votre nœud gestionnaire. Par exemple, le tutoriel utilise une machine nommée
manager1
. -
Exécutez
docker service inspect --pretty <SERVICE-ID>
pour afficher les détails d'un service dans un format facilement lisible.Pour voir les détails du service
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: vip
TipPour retourner les détails du service en format json, exécutez la même commande sans le flag
--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": {} }, "Mode": { "Replicated": { "Replicas": 1 } }, "UpdateConfig": { "Parallelism": 1 }, "EndpointSpec": { "Mode": "vip" } }, "Endpoint": { "Spec": {} } } ]
-
Exécutez
docker service ps <SERVICE-ID>
pour voir quels nœuds exécutent le service :[manager1]$ docker service ps helloworld NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS helloworld.1.8p1vev3fq5zm0mi8g0as41w35 alpine worker2 Running Running 3 minutes
Dans ce cas, l'unique instance du service
helloworld
s'exécute sur le nœudworker2
. Vous pourriez voir le service s'exécuter sur votre nœud gestionnaire. Par défaut, les nœuds gestionnaires dans un swarm peuvent exécuter des tâches comme les nœuds travailleurs.Swarm vous montre également l'
ÉTAT DÉSIRÉ
et l'ÉTAT ACTUEL
de la tâche de service afin que vous puissiez voir si les tâches s'exécutent selon la définition du service. -
Exécutez
docker ps
sur le nœud où la tâche s'exécute pour voir les détails du conteneur pour la tâche.TipSi
helloworld
s'exécute sur un nœud autre que votre nœud gestionnaire, vous devez vous connecter en ssh à ce nœud.[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
Prochaines étapes
Ensuite, vous allez changer l'échelle pour le service en cours d'exécution dans le swarm.