新的应用程序版本的Docker部署工作stream程没有丢失数据库状态?

我有一个名为A的应用程序使用MongoDB的状态。 我的计划是使用Docker,也许为应用程序创build一个容器,为MongoDB创build一个容器,然后将A与MongoDB链接(可能使用fig)。 据我所知,我应该使用数据卷或“数据专用容器”为MongoDB状态。 但是,如果我理解正确,你链接到一个图像(在这种情况下的MongoDB图像)。 这是否意味着当我部署新版本的A时需要重新启动MongoDB?

我想要做的就是在不丢失MongoDB状态的情况下(可能)部署对A(A')的更改,而不必closuresMongoDB。 没有Docker我只是把A放下来,部署A',并连接到相同的MongoDB实例(它仍然在运行)。 如果我在负载平衡器后面运行A的多个实例,这一点尤其重要。 如何使用Docker基础架构实现这一点? 如果我运行一个A的单个实例,链接只是一个很好的select?

只有当它们链接到容器A时,才需要重新启动MongoDB和/或数据容器。因此,对于您的情况,我将遵循以下步骤:

  1. 启动您的“数据容量”容器,并为数据安装一个卷。
  2. 启动您的MongoDB容器,使用--volumes-from选项--volumes-from访问第一个容器的数据。
  3. 启动您的应用程序容器A,链接到MongoDB容器。

无需重新启动数据或MongoDB容器,因为它们不直接链接到您的容器应用程序。