Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker全球服务是否总是首先在新Swarm节点上创建?_Docker_Docker Swarm - Fatal编程技术网

Docker全球服务是否总是首先在新Swarm节点上创建?

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 Swarm模式(1.12+)中,可以创建所谓的“全球”服务,例如:

docker service create \
 --name redis_2 \
 --mode global \
 redis:3.0.6
全局服务在每个节点上都处于活动状态

当我向Swarm添加新节点时,以及Swarm有一些待创建的服务时,服务创建的顺序是什么


Swarm是否保证首先创建全局服务(直到其运行状况检查通过),并且只有在Swarm创建挂起的复制服务之后才创建该服务?

否,没有保证服务启动的顺序。最佳实践是将您的应用程序/服务设计为能够抵御其他服务的故障。请记住,在应用程序的生命周期中,服务可能随时中断(服务会更新,网络可能暂时不可用,节点甚至数据中心可能会停机)


如果一个服务依赖于另一个服务,您可以(例如)实现一个重试循环;在官方WordPress图片中可以找到一个简单的例子,它有一个重试循环来检查数据库服务器是否可用,并接受连接

否,服务启动的顺序没有保证。最佳实践是将您的应用程序/服务设计为能够抵御其他服务的故障。请记住,在应用程序的生命周期中,服务可能随时中断(服务会更新,网络可能暂时不可用,节点甚至数据中心可能会停机)


如果一个服务依赖于另一个服务,您可以(例如)实现一个重试循环;在官方WordPress图片中可以找到一个简单的例子,它有一个重试循环来检查数据库服务器是否可用,并接受连接

对于复制服务,您所说的绝对正确,我知道这一点。然而,这不是我所说的服务之间的依赖关系。我不认为这也适用于全球服务。您是否知道可能有任何官方Docker文档在执行顺序方面提到了全球服务?除了部署“何处”全球服务(即,每个节点一个,除非添加了
--constraint
)之外,“全球”服务与“复制”服务没有任何区别(请参阅)对于复制服务,您所说的绝对正确,我知道这一点。然而,这不是我所说的服务之间的依赖关系。我不认为这也适用于全球服务。您是否知道可能有任何官方Docker文档在执行顺序方面提到了全球服务?除了部署“何处”全球服务(即,每个节点一个,除非添加了
--constraint
)之外,“全球”服务与“复制”服务没有任何区别(请参阅)