为什么我无法在 docker-compose 中使用 azure 文件共享将 mongodb 数据存储在 Azure 容器实例中?

Ste*_*mer 5 azure mongodb azure-storage docker-compose

使用 docker ACI 上下文时,以下 docker-compose 文件失败。mongodb容器不断重启。

version: "3.9"

services:
  mongodb:
    image: mongo:5.0.6
    env_file: mongo.env
    environment:
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=changeit
    ports:
      - 27017
    volumes:
      - dbdata:/data/db

volumes:
  dbdata:
    driver: azure_file
    driver_opts:
      share_name: mongodb-data
      storage_account_name: kpncoqyuxumoetuftz
Run Code Online (Sandbox Code Playgroud)

如果我不使用 azure_file 存储,它将运行正常(但当然数据不会持久)

Ste*_*mer 1

我不确定为什么我无法挂载到默认目录/data/db,但为了使其正常工作,我必须挂载到另一个目录,然后将默认命令替换为带有参数的命令。

工作版本如下:

version: "3.9"

services:
  mongodb:
    image: mongo:5.0.6
    command: ["mongod", "--dbpath=/dbdata"]
    environment:
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=changeit
    ports:
      - 27017
    volumes:
      - dbdata:/dbdata

volumes:
  dbdata:
    driver: azure_file
    driver_opts:
      share_name: mongodb-data
      storage_account_name: kpncoqyuxumoetuftz

Run Code Online (Sandbox Code Playgroud)