Compartir comentarios
Las respuestas se generan en base a la documentación.

Estados de las tareas de Swarm

Docker te permite crear servicios, los cuales pueden iniciar tareas. Un servicio es una descripción de un estado deseado, y una tarea realiza el trabajo. El trabajo se programa en los nodos del swarm en esta secuencia:

  1. Crea un servicio mediante el uso de docker service create.
  2. La solicitud se dirige a un nodo administrador de Docker.
  3. El nodo administrador de Docker programa el servicio para que se ejecute en nodos específicos.
  4. Cada servicio puede iniciar varias tareas.
  5. Cada tarea tiene un ciclo de vida, con estados como NEW, PENDING y COMPLETE.

Las tareas son unidades de ejecución que se ejecutan una vez hasta completarse. Cuando una tarea se detiene, no se vuelve a ejecutar, pero una nueva tarea puede ocupar su lugar.

Las tareas avanzan a través de una serie de estados hasta que se completan o fallan. Las tareas se inicializan en el estado NEW. La tarea progresa hacia adelante a través de varios estados, y su estado no retrocede. Por ejemplo, una tarea nunca pasa de COMPLETE a RUNNING.

Las tareas pasan por los estados en el siguiente orden:

Estado de la tareaDescripción
NEWLa tarea fue inicializada.
PENDINGSe asignaron los recursos para la tarea.
ASSIGNEDDocker asignó la tarea a los nodos.
ACCEPTEDLa tarea fue aceptada por un nodo trabajador. Si un nodo trabajador rechaza la tarea, el estado cambia a REJECTED.
READYEl nodo trabajador está listo para iniciar la tarea.
PREPARINGDocker está preparando la tarea.
STARTINGDocker está iniciando la tarea.
RUNNINGLa tarea se está ejecutando.
COMPLETELa tarea finalizó sin un código de error.
FAILEDLa tarea finalizó con un código de error.
SHUTDOWNDocker solicitó que la tarea se apagara.
REJECTEDEl nodo trabajador rechazó la tarea.
ORPHANEDEl nodo estuvo fuera de servicio durante demasiado tiempo.
REMOVELa tarea no es terminal, pero el servicio asociado fue eliminado o se redujo su escala (scaled down).

Ver el estado de la tarea

Ejecuta docker service ps <service-name> para obtener el estado de una tarea. El campo CURRENT STATE muestra el estado de la tarea y cuánto tiempo lleva en ese estado.

$ 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.…"

Siguientes pasos