互联网技术 / 互联网资讯 · 2023年12月25日 0

Docker 集群中的任务状态解析

Docker 集群中的任务状态解析

在 Docker 集群中,服务描述所需的目标状态,而任务负责实际执行。请按以下步骤在集群节点上分派工作:

1. 通过 docker service create 命令创建服务。

2. 请求将被发送到 Docker 的管理节点(Manager)。

3. 管理节点对服务进行调度,确保其在指定节点上运行。

4. 每个服务可能启动多个任务。

5. 每个任务具有自己的生命周期,通常包含 NEW、PENDING 与 COMPLETE。

任务是一次性执行的工作单元,完成后不会再次执行,但随后可能会有新的任务来替代它。

任务会经历若干状态,直到完成或失败。它们从 NEW 状态开始初始化,状态向前推进且不会后退。例如,任务不会从 COMPLETE 回到 RUNNING。

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

任务状态 描述

NEW — 任务已初始化。

PENDING — 任务的资源已分配。

ASSIGNED — Docker 已将任务分配到某个节点。

ACCEPTED — 该任务已被工作程序节点接受;若辅助节点拒绝任务,则状态将变为 REJECTED。

PREPARING — Docker 正在为任务做准备。

STARTING — Docker 正在启动任务。

RUNNING — 任务正在执行。

COMPLETE — 任务正常退出,无错误代码。

FAILED — 任务在退出时返回错误代码。

SHUTDOWN — 请求关闭任务。

REJECTED — 工作节点拒绝了该任务。

ORPHANED — 节点因超时而被视为孤儿。

REMOVE — 该任务尚未结束,但所关联的服务已删除或按比例缩减。

查看任务状态

你可以运行 docker service ps 以查看任务状态。CURRENT STATE 字段显示任务的当前状态及完成该任务的时间。