Lister toutes les tâches sur un nœud
Dans cette étape, vous apprendrez à lister toutes les tâches en cours d'exécution sur un nœud Docker Swarm. Docker Swarm est un outil d'orchestration de conteneurs qui vous permet de gérer un cluster de nœuds Docker. Une tâche est une instance en cours d'exécution d'un service.
Avant de lister les tâches, nous devons avoir un service Docker Swarm en cours d'exécution. Pour ce laboratoire, nous utiliserons un service nginx
simple.
Tout d'abord, initialisons un Docker Swarm sur ce nœud.
docker swarm init
Vous devriez voir une sortie indiquant que le swarm a été initialisé et fournissant un jeton d'adhésion.
Maintenant, créons un service simple nommé my-nginx-service
en utilisant l'image nginx
. Nous allons d'abord télécharger l'image nginx
pour nous assurer qu'elle est disponible.
docker pull nginx:latest
docker service create --name my-nginx-service --replicas 1 nginx
La commande docker service create
crée un nouveau service avec une réplique (une tâche). Docker téléchargera automatiquement l'image nginx
si elle n'est pas déjà présente, mais nous l'avons explicitement téléchargée au préalable.
Après la création du service, Docker démarrera une tâche pour ce service sur l'un des nœuds du swarm (dans ce cas, le nœud actuel).
Pour lister toutes les tâches en cours d'exécution sur le nœud, vous pouvez utiliser la commande docker node ps
suivie de l'ID du nœud ou du nom d'hôte. Étant donné que nous sommes sur le nœud manager où le service a été créé, nous pouvons utiliser l'ID du nœud actuel.
Pour trouver l'ID du nœud, vous pouvez utiliser la commande docker node ls
.
docker node ls
Cette commande listera tous les nœuds du swarm. La sortie affichera l'ID du nœud, le nom d'hôte, l'état, la disponibilité et le statut du manager. Copiez l'ID du nœud actuel (celui avec Leader
sous MANAGER STATUS
).
Maintenant, utilisez la commande docker node ps
avec l'ID du nœud que vous avez copié pour lister les tâches sur ce nœud. Remplacez <node_id>
par l'ID réel du nœud.
docker node ps <node_id>
Cette commande affichera une liste des tâches en cours d'exécution sur le nœud spécifié, y compris l'ID de la tâche, le nom du service, l'image, le nœud, l'état souhaité, l'état actuel et l'erreur. Vous devriez voir la tâche my-nginx-service.1
répertoriée avec un état de Running
.
Alternativement, vous pouvez lister toutes les tâches du swarm en utilisant la commande docker task ls
. Cette commande est utile pour voir les tâches sur tous les nœuds du swarm.
docker task ls
Cette commande affichera des informations similaires à docker node ps
, mais elle liste les tâches de tous les nœuds du swarm. Étant donné que nous n'avons qu'un seul nœud et une seule tâche, la sortie sera similaire à docker node ps
.
Dans cette étape, vous avez appris à lister les tâches sur un nœud spécifique en utilisant docker node ps
et à lister toutes les tâches du swarm en utilisant docker task ls
.