gpt4 book ai didi

docker - 新应用程序版本的Docker部署工作流不丢失数据库状态吗?

转载 作者:行者123 更新时间:2023-12-02 20:52:12 29 4
gpt4 key购买 nike

我有一个名为A的应用程序,该应用程序使用MongoDB进行状态显示。我的计划是使用Docker,并可能为应用程序创建一个容器,为MongoDB创建一个容器,然后将A与MongoDB链接(可能使用fig)。据我了解,我应该为MongoDB状态使用数据量或“仅数据容器”。但是,如果我正确理解它,则可以链接到图像(在这种情况下为MongoDB图像)。这是否意味着我在部署新版本的A时需要重新启动MongoDB?

我想要做的是将更改部署到A(A'),而不会丢失MongoDB状态,并且(可能)不会关闭MongoDB。如果没有Docker,我只会关闭A并部署A',然后将其连接到相同的MongoDB实例(该实例仍在运行)。如果我在负载均衡器后面运行A的多个实例,这尤其重要。我如何使用Docker基础架构很好地实现这一目标?如果我运行A的单个实例,仅链接是一个好选择吗?

最佳答案

仅当MongoDB和/或数据容器链接到容器A时,才需要重新启动它们。因此,在您的情况下,我将按照以下步骤操作:

  • 使用已装载数据的卷启动“数据卷容器”。
  • 使用docker选项--volumes-from启动您的MongoDB容器,以访问第一个容器的数据。
  • 启动您的应用程序容器A,链接到MongoDB容器。

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

    关于docker - 新应用程序版本的Docker部署工作流不丢失数据库状态吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27685171/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com