Docker全球服务是否总是首先在新Swarm节点上创建?
在Docker Swarm模式(1.12+)中,可以创建所谓的“全球”服务,例如:Docker全球服务是否总是首先在新Swarm节点上创建?,docker,docker-swarm,Docker,Docker Swarm,在Docker Swarm模式(1.12+)中,可以创建所谓的“全球”服务,例如: docker service create \ --name redis_2 \ --mode global \ redis:3.0.6 全局服务在每个节点上都处于活动状态 当我向Swarm添加新节点时,以及Swarm有一些待创建的服务时,服务创建的顺序是什么 Swarm是否保证首先创建全局服务(直到其运行状况检查通过),并且只有在Swarm创建挂起的复制服务之后才创建该服务?否,没有保证服务启动的顺序。
docker service create \
--name redis_2 \
--mode global \
redis:3.0.6
全局服务在每个节点上都处于活动状态
当我向Swarm添加新节点时,以及Swarm有一些待创建的服务时,服务创建的顺序是什么
Swarm是否保证首先创建全局服务(直到其运行状况检查通过),并且只有在Swarm创建挂起的复制服务之后才创建该服务?否,没有保证服务启动的顺序。最佳实践是将您的应用程序/服务设计为能够抵御其他服务的故障。请记住,在应用程序的生命周期中,服务可能随时中断(服务会更新,网络可能暂时不可用,节点甚至数据中心可能会停机)
如果一个服务依赖于另一个服务,您可以(例如)实现一个重试循环;在官方WordPress图片中可以找到一个简单的例子,它有一个重试循环来检查数据库服务器是否可用,并接受连接 否,服务启动的顺序没有保证。最佳实践是将您的应用程序/服务设计为能够抵御其他服务的故障。请记住,在应用程序的生命周期中,服务可能随时中断(服务会更新,网络可能暂时不可用,节点甚至数据中心可能会停机)
如果一个服务依赖于另一个服务,您可以(例如)实现一个重试循环;在官方WordPress图片中可以找到一个简单的例子,它有一个重试循环来检查数据库服务器是否可用,并接受连接 对于复制服务,您所说的绝对正确,我知道这一点。然而,这不是我所说的服务之间的依赖关系。我不认为这也适用于全球服务。您是否知道可能有任何官方Docker文档在执行顺序方面提到了全球服务?除了部署“何处”全球服务(即,每个节点一个,除非添加了
--constraint
)之外,“全球”服务与“复制”服务没有任何区别(请参阅)对于复制服务,您所说的绝对正确,我知道这一点。然而,这不是我所说的服务之间的依赖关系。我不认为这也适用于全球服务。您是否知道可能有任何官方Docker文档在执行顺序方面提到了全球服务?除了部署“何处”全球服务(即,每个节点一个,除非添加了--constraint
)之外,“全球”服务与“复制”服务没有任何区别(请参阅)