Swarm 任务状态

Docker 允许您创建可以启动任务的服务。服务是对所需状态的描述,而任务则完成工作。集群节点上的工作按以下顺序安排:

  1. 使用创建服务docker service create
  2. 该请求发送至 Docker 管理器节点。
  3. Docker 管理器节点调度服务在特定节点上运行。
  4. 每个服务可以启动多个任务。
  5. 每个任务都有一个生命周期,具有诸如NEWPENDING、 和 之类的状态COMPLETE

任务是运行一次即可完成的执行单元。当任务停止时,它不会再次执行,但新任务可能会取代它。

任务会通过多个状态前进,直到完成或失败。任务在状态中初始化NEW。任务会向前推进多个状态,并且其状态不会向后退。例如,任务永远不会从 COMPLETERUNNING

任务按以下顺序经历状态:

任务状态描述
NEW任务已初始化。
PENDING任务的资源已分配。
ASSIGNEDDocker 将任务分配给节点。
ACCEPTED该任务已被工作节点接受。如果工作节点拒绝该任务,状态将更改为REJECTED
READY工作节点准备好启动任务
PREPARINGDocker 正在准备任务。
STARTINGDocker 正在启动任务。
RUNNING任务正在执行。
COMPLETE任务退出且没有错误代码。
FAILED任务退出并出现错误代码。
SHUTDOWNDocker 请求任务关闭。
REJECTED工作节点拒绝了该任务。
ORPHANED该节点关闭时间过长。
REMOVE该任务不是最终任务,但相关服务已被删除或缩减。

查看任务状态

运行docker service ps <service-name>以获取任务的状态。该 CURRENT STATE字段显示任务的状态及其存在的时间。

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

下一步go哪里