互联网技术 / 互联网资讯 · 2024年3月8日 0

Docker Swarm 服务运行原理解析

要在 DockeR engine 处于 swaRM 模式时部署应用程序映像,您需要创建一个服务。通常,服务是某个较大应用程序上下文中微服务的映像。服务的示例可能包括 HTTP 服务器、数据库或您希望在分布式环境中运行的任何其他类型的可执行程序。

创建服务时,您需要指定要使用的容器映像以及要在运行的容器内执行的命令。您还可以为服务定义选项,包括:

集群在集群外部提供服务的端口
服务连接到群中其他服务的覆盖网络
CPU 和内存限制和预留
滚动更新策略
要在 swaRM 中运行的图像副本的数量

服务、任务和容器
当您将服务部署到 swaRM 时,swaRM 管理器接受您的服务定义作为服务所需的状态。然后它将集群中节点上的服务作为一个或多个副本任务进行调度。任务在群中的节点上彼此独立运行。

例如,假设您要在 HTTP 侦听器的三个实例之间进行负载平衡。下图显示了具有三个副本的 HTTP 侦听器服务。监听器的三个实例中的每一个都是 swaRM 中的一个任务。
Docker Swarm 服务运行原理解析

容器是一个孤立的进程。在群模式模型中,每个任务只调用一个容器。任务类似于调度程序放置容器的“槽”。一旦容器处于活动状态,调度程序就会识别出任务处于运行状态。如果容器未通过健康检查或终止,则任务终止。