我想阻止几个容器一起打开。 想象一下,我有一项服务,我想打开它的5个副本。
然后他们应该这样做:
容器1开始==>容器1运行且健康==>容器2开始==>容器2运行且健康==>容器3开始==>容器3运行且健康==>容器4开始==>容器4运行和健康==>容器5开始==>容器5运行健康。
我检查过HEALTHCHECK,但我不知道在这种情况下它是否对我有帮助
谢谢
答案 0 :(得分:1)
您可以添加另一个应用容器作为协调员。
这与question很相关。
我的想法是拥有一个共享锁的共享Redis。因此,每个新容器开始查询共享Redis中的该锁,并且当获取锁时,容器完成其启动,然后释放锁。
https://redis.io/topics/distlock
分布式锁在许多环境中都是非常有用的原语 不同进程必须使用共享资源进行操作 相互排斥的方式。