Swarm 任务状态
目录
Docker 允许您创建可以启动任务的服务。服务是一个 所需状态的描述,然后 Task 执行该工作。工作安排在 swarm 节点:
- 使用 Create a service by usingdocker service create.
- 请求将转到 Docker 管理器节点。
- Docker 管理器节点将服务安排在特定节点上运行。
- 每个服务可以启动多个任务。
- 每个任务都有一个生命周期,其状态类似于NEW,PENDING和COMPLETE.
任务是运行一次直至完成的执行单元。当任务停止时,它会 不会再次执行,但可能会有新任务取代它。
任务会经历多个状态,直到它们完成或失败。任务包括
initialized 中的NEW州。该任务通过多个
state 的 state 的 state 不会倒退。例如,任务永远不会从COMPLETE自RUNNING.
任务按以下顺序遍历状态:
| 任务状态 | 描述 | 
|---|---|
| NEW | 任务已初始化。 | 
| PENDING | 已分配任务的资源。 | 
| ASSIGNED | Docker 将任务分配给节点。 | 
| ACCEPTED | 任务已由 worker 节点接受。如果 Worker 节点拒绝该任务,则状态将更改为 REJECTED. | 
| READY | Worker 节点已准备好启动任务 | 
| PREPARING | Docker 正在准备任务。 | 
| STARTING | Docker 正在启动任务。 | 
| RUNNING | 任务正在执行。 | 
| COMPLETE | 任务退出时没有错误代码。 | 
| FAILED | 任务退出并显示错误代码。 | 
| SHUTDOWN | Docker 请求关闭任务。 | 
| REJECTED | Worker 节点拒绝了该任务。 | 
| ORPHANED | 节点宕机时间过长。 | 
| REMOVE | 任务不是终端任务,但关联的服务已被删除或缩减。 | 
查看任务状态
跑docker service ps <service-name>以获取任务的状态。这CURRENT STATEfield 显示任务的状态及其运行时间
那里。
$ 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.…"