Swarm 任务状态

Docker 允许您创建可以启动任务的服务。服务是一个 所需状态的描述,然后 Task 执行该工作。工作安排在 swarm 节点:

  1. 使用 创建服务 。docker service create
  2. 请求将转到 Docker 管理器节点。
  3. Docker 管理器节点将服务安排在特定节点上运行。
  4. 每个服务可以启动多个任务。
  5. 每个任务都有一个生命周期,状态类似于 、 和 。NEWPENDINGCOMPLETE

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

任务会经历多个状态,直到它们完成或失败。任务包括 initialized 在 state 中初始化。该任务通过多个 state 的 state 的 state 不会倒退。例如,任务永远不会从 到 。NEWCOMPLETERUNNING

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

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

查看任务状态

Run 以获取任务的状态。该字段显示任务的状态及其持续时间 那里。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.…"

下一步