无法在 azure 容器实例中将 azure 文件共享装载为 mongodb 卷

San*_*osh 6 azure mongodb azure-container-instances

我正在尝试使用 azure 容器实例设置 mongo DB 实例并将其安装在 Azure 文件共享上。

我们收到以下错误:

[initandlisten] WiredTiger error (1) [1579245437:724939][1:0x7f9419c67b00], connection: __posix_open_file, 667: /data/db/WiredTiger.wt: handle-open: open: Operation not permitted Raw: [1579245437:724939][1:0x7f9419c67b00], connection: __posix_open_file, 667: /data/db/WiredTiger.wt: handle-open: open: Operation not permitted
W  STORAGE  [initandlisten] Failed to start up WiredTiger under any compatibility version.
F  STORAGE  [initandlisten] Reason: 1: Operation not permitted
F  -        [initandlisten] Fatal Assertion 28595 at src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 789
[initandlisten] 

***aborting after fassert() failure
Run Code Online (Sandbox Code Playgroud)

AZ 命令我使用以下命令来创建存储帐户、文件共享和容器实例:

az storage account create -g $resourcegroup -n $storageaccount --sku Standard_LRS

az storage share create --name $mongofileshare --account-name $storageaccount

az container create --resource-group $resourcegroup --name $containername --image mongo:latest --dns-name-label $DNSName --ports 27017 --protocol TCP --environment-variables 'MONGO_INITDB_ROOT_USERNAME=admin' 'MONGO_INITDB_ROOT_PASSWORD=*******' --location westeurope --azure-file-volume-account-name $storageaccount --azure-file-volume-account-key '**********' --azure-file-volume-share-name 'mongofileshare' --azure-file-volume-mount-path '/data/db'
Run Code Online (Sandbox Code Playgroud)

Cha*_* Xu 4

导致错误的原因是,将 Azure 文件共享挂载到容器实例将覆盖挂载点中的所有文件。注意事项如下所示:

将 Azure 文件共享装载到容器实例类似于 Docker 绑定装载。请注意,如果将共享挂载到存在文件或目录的容器目录中,这些文件或目录将被挂载遮盖,并且在容器运行时无法访问。

因此,不建议将 Azure 文件共享挂载到包含用于初始化 Mongo DB 的文件的现有目录。推荐目录将类似于 path /var/logs/