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

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

那么他们应该这样做:

容器1启动==>容器1运行健康==>容器2启动==>容器2运行健康==>容器3启动==>容器3运行健康==>容器4启动==>容器4运行健康==>容器5启动==>容器5运行健康。

我检查了HEALTHCHECK,但是我不知道在这种情况下是否能帮助我

谢谢

您可以添加另一个应用程序容器来充当协调员。

这与这个问题有很大关系。

我的想法是有一个共享的Redis,你有一个共享锁。 因此,每个启动对共享Redis中该锁的查询的新容器,以及获取锁时,容器将完成其启动,然后释放该锁。

https://redis.io/topics/distlock

分布式锁在许多环境中是一个非常有用的基元,其中不同的进程必须以共享的资源以互斥的方式进行操作。