gpt4 book ai didi

mongodb - 将 Mongodb 卷挂载到 Azure Web App for Containers 中的 Azure 文件

转载 作者:行者123 更新时间:2023-12-05 06:20:40 24 4
gpt4 key购买 nike

我有一个作为 docker 容器运行的应用程序,该应用程序连接到另一个容器 Mongodb,我想将 mongodb 卷 data/db 挂载到 Azure 共享文件。我正在使用 docker compose 文件来定义我的容器。假设我已经有一个链接到应用程序的存储帐户,这就是我在 docker-compose 中定义我的 docker volume 的方式

  database:
image: "mongo:latest"
container_name: database
ports:
- "27017:27017"
volumes:
- ${WEBAPP_STORAGE_HOME}/data/db:/data/db

Unable to mount azure file shares as mongodb volume in azure container instances有人提到不推荐安装 data/db 并且它不会起作用。我的问题是:

如何将我的 mongodb 文件挂载到 Azure 文件?如何对这些文件执行备份?如果我想将备份恢复到数据库,是否可以只上传 azure 文件中的文件并在我的 mongodb 中查看它们?

最佳答案

对于你的问题,正如我在你发现的另一个问题中所说的。将 Azure 文件共享装载到 Web 应用程序将覆盖镜像中的现有文件。因此,当 Azure 文件共享已安装时,您需要更改 MongoDB 数据路径。

示例 docker-compose 文件如下:

version: '3.7'

services:
web:
image: mongo:latest
ports:
- "27017:27017"
volumes:
- fileshare:/data/mongodb

并使用此 docker-compose 文件创建 Web 应用程序,并使用值 mongod --dbpath=/data/mongodb --bind_ip_all 设置起始文件。例如,如果您使用 Azure CLI,则创建命令如下:

az webapp create -g group_name --plan plan_name -n web_name --multicontainer-config-type compose --multicontainer-config-file docker-compose-file --startup-file "mongod --dbpath=/data/mongodb --bind_ip_all"

最后,您需要像下面这样设置文件共享挂载:

enter image description here

或通过 CLI 执行 Configure your app with Azure Storage 中的步骤.

关于mongodb - 将 Mongodb 卷挂载到 Azure Web App for Containers 中的 Azure 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60334710/

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