如何在同一服务中的另一个Container尝试阻止Docker容器打开?

时间:2017-05-18 12:07:50

标签: docker dockerfile docker-swarm

我想阻止几个容器一起打开。 想象一下,我有一项服务,我想打开它的5个副本。

然后他们应该这样做:

容器1开始==>容器1运行且健康==>容器2开始==>容器2运行且健康==>容器3开始==>容器3运行且健康==>容器4开始==>容器4运行和健康==>容器5开始==>容器5运行健康。

我检查过HEALTHCHECK,但我不知道在这种情况下它是否对我有帮助

谢谢

1 个答案:

答案 0 :(得分:1)

您可以添加另一个应用容器作为协调员。

这与question很相关。

我的想法是拥有一个共享锁的共享Redis。因此,每个新容器开始查询共享Redis中的该锁,并且当获取锁时,容器完成其启动,然后释放锁。

https://redis.io/topics/distlock

  

分布式锁在许多环境中都是非常有用的原语   不同进程必须使用共享资源进行操作   相互排斥的方式。