⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

États des tâches Swarm

Docker vous permet de créer des services, qui peuvent démarrer des tâches. Un service est une description d'un état désiré, et une tâche fait le travail. Le travail est planifié sur les nœuds swarm dans cette séquence :

  1. Créer un service en utilisant docker service create.
  2. La demande va à un nœud gestionnaire Docker.
  3. Le nœud gestionnaire Docker planifie le service pour s'exécuter sur des nœuds particuliers.
  4. Chaque service peut démarrer plusieurs tâches.
  5. Chaque tâche a un cycle de vie, avec des états comme NEW, PENDING, et COMPLETE.

Les tâches sont des unités d'exécution qui s'exécutent une fois jusqu'à l'achèvement. Quand une tâche s'arrête, elle n'est pas exécutée à nouveau, mais une nouvelle tâche peut prendre sa place.

Les tâches progressent à travers un nombre d'états jusqu'à ce qu'elles se terminent ou échouent. Les tâches sont initialisées dans l'état NEW. La tâche progresse vers l'avant à travers un nombre d' états, et son état ne va pas en arrière. Par exemple, une tâche ne va jamais de COMPLETE à RUNNING.

Les tâches passent par les états dans l'ordre suivant :

État de la tâche Description
NEW La tâche a été initialisée.
PENDING Les ressources pour la tâche ont été allouées.
ASSIGNED Docker a assigné la tâche aux nœuds.
ACCEPTED La tâche a été acceptée par un nœud travailleur. Si un nœud travailleur rejette la tâche, l'état change à REJECTED.
READY Le nœud travailleur est prêt à démarrer la tâche
PREPARING Docker prépare la tâche.
STARTING Docker démarre la tâche.
RUNNING La tâche s'exécute.
COMPLETE La tâche s'est terminée sans code d'erreur.
FAILED La tâche s'est terminée avec un code d'erreur.
SHUTDOWN Docker a demandé à la tâche de s'arrêter.
REJECTED Le nœud travailleur a rejeté la tâche.
ORPHANED Le nœud était en panne trop longtemps.
REMOVE La tâche n'est pas terminale mais le service associé a été supprimé ou réduit.

Voir l'état de la tâche

Exécutez docker service ps <nom-du-service> pour obtenir l'état d'une tâche. Le champ CURRENT STATE montre l'état de la tâche et depuis combien de temps elle y est là.

$ docker service ps webserver
ID             NAME              IMAGE    NODE        DESIRED STATE  CURRENT STATE            ERROR                              PORTS
owsz0yp6z375   webserver.1       nginx    UbuntuVM    Running        Running 44 seconds ago
j91iahr8s74p    \_ webserver.1   nginx    UbuntuVM    Shutdown       Failed 50 seconds ago    "No such container: webserver.…"
7dyaszg13mw2    \_ webserver.1   nginx    UbuntuVM    Shutdown       Failed 5 hours ago       "No such container: webserver.…"

Où aller ensuite