群任务状态
预计阅读时间:2分钟
Docker让您创建可以启动任务的服务。服务是对所需状态的描述,而任务则负责工作。按以下顺序在群体节点上安排工作:
- 使用创建服务
docker service create
。 - 该请求将转到Docker管理器节点。
- Docker管理器节点计划服务在特定节点上运行。
- 每个服务可以启动多个任务。
- 每个任务都有一个生命周期,与美国一样
NEW
,PENDING
和COMPLETE
。
任务是运行一次才能完成的执行单元。任务停止时,不会再次执行,但是新任务可能会代替它。
任务会经过许多状态,直到它们完成或失败。任务在该NEW
状态下初始化。任务通过多个状态前进,并且其状态不后退。例如,任务永远不会从
COMPLETE
转到RUNNING
。
任务按以下顺序遍历状态:
任务状态 | 描述 |
---|---|
NEW |
任务已初始化。 |
PENDING |
任务的资源已分配。 |
ASSIGNED |
Docker将任务分配给了节点。 |
ACCEPTED |
该任务已被工作节点接受。如果辅助节点拒绝任务,则状态更改为REJECTED 。 |
PREPARING |
Docker正在准备任务。 |
STARTING |
Docker正在启动任务。 |
RUNNING |
任务正在执行。 |
COMPLETE |
任务退出,没有错误代码。 |
FAILED |
任务退出并显示错误代码。 |
SHUTDOWN |
Docker请求关闭任务。 |
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.…"