要在 Docker Engine 处于 swarm 模式时部署应用程序映像,您需要创建一个服务。通常,服务是某个较大应用程序上下文中微服务的映像。服务的示例可能包括 HTTP 服务器、数据库或您希望在分布式环境中运行的任何其他类型的可执行程序。
创建服务时,指定要使用的容器映像以及要在运行的容器内执行的命令。您还可以为服务定义选项,包括:
1.集群在集群外部提供服务的端口
2.服务连接到群中其他服务的覆盖网络
3.CPU 和内存限制和预留
4.滚动更新策略
5.要在 swarm 中运行的图像副本的数量
复制和全局服务
有两种类型的服务部署,复制的和全局的。
对于复制服务,您可以指定要运行的相同任务的数量。例如,您决定部署具有三个副本的 HTTP 服务,每个副本提供相同的内容。
全局服务是在每个节点上运行一个任务的服务。没有预先指定的任务数量。每次向 swarm 添加节点时,协调器都会创建一个任务,调度器将任务分配给新节点。全局服务的良好候选者是监视代理、防病毒扫描程序或您希望在 swarm 中的每个节点上运行的其他类型的容器。
下图显示了黄色的三服务副本和灰色的全局服务。