首页 > 解决方案 > Azure az container create 未通过尝试挂载卷完成

问题描述

我正在使用 Azure 容器实例和容器注册表来部署应用程序。我已经创建了一些通过 Web 界面并且工作正常,但对于其他一些我需要数据持久性,因此我必须安装一个卷,这部分我没有找到它直截了当。

以下代码可以正常工作:

/home/luis/bin/az container create \
    --resource-group mlcontainers2 \
    --name modeldiagnosticsvolume \
    --image mlcontainers2.azurecr.io/samples/modeldiagnostics \
    --registry-login-server mlcontainers2.azurecr.io \
    --registry-password XXXXXXXXXXXXXXXXXXXXXXXX   \
    --registry-username mlcontainers2 \
    --ports 80 5000 5100 \
    --ip-address public 

但是当我添加行来安装卷时:

--azure-file-volume-account-name cs217dfd5a81083x41faxb08 
--azure-file-volume-account-key  XXXXXXXXXXXXXXXXXXXXXXXX
--azure-file-volume-share-name mlstorage 
--azure-file-volume-mount-path app/data 

新代码是:

/home/luis/bin/az container create \
    --resource-group mlcontainers2 \
    --name modeldiagnosticsvolume \
    --image mlcontainers2.azurecr.io/samples/modeldiagnostics \
    --registry-login-server mlcontainers2.azurecr.io \
    --registry-password XXXXXXXXXXXXXXXXXXXXXXXX   \
    --registry-username mlcontainers2 \
    --ports 80 5000 5100 \
    --ip-address public \
    --azure-file-volume-account-name cs217dfd5a81083x41faxb08 \
    --azure-file-volume-account-key  XXXXXXXXXXXXXXXXXXXXXXXX \
    --azure-file-volume-share-name mlstorage \
    --azure-file-volume-mount-path app/data 


The process goes for over half an  hour and just shows:

 - Running ..


 - Running ..
 - Running ..

在 Azure 门户界面中,该容器的状态为:“待定”

如果我停止处理并尝试重新启动它,我会收到以下错误:

容器组“modeldiagnosticsvolume”仍在转换中,请稍后重试。

而且我必须更改名称才能再次尝试,但结果是一样的

 - Running ..


 - Running ..
 - Running ..

编辑:

我让它运行得到另一个错误:

Deployment failed. Correlation ID: 6012f7c9-6241-4bfb-8322-c7f052523da0. Operation failed with status: 200. Details: Resource state Failed

标签: azuredocker

解决方案


对于您的问题,可能的原因是您没有使用正确的安装路径。它应该是一个绝对路径,例如/app/data. 所以 CLI 命令如下所示:

/home/luis/bin/az container create \
    --resource-group mlcontainers2 \
    --name modeldiagnosticsvolume \
    --image mlcontainers2.azurecr.io/samples/modeldiagnostics \
    --registry-login-server mlcontainers2.azurecr.io \
    --registry-password XXXXXXXXXXXXXXXXXXXXXXXX   \
    --registry-username mlcontainers2 \
    --ports 80 5000 5100 \
    --ip-address public \
    --azure-file-volume-account-name cs217dfd5a81083x41faxb08 \
    --azure-file-volume-account-key  XXXXXXXXXXXXXXXXXXXXXXXX \
    --azure-file-volume-share-name mlstorage \
    --azure-file-volume-mount-path /app/data 

还有一个建议,你最好在使用图像时添加图像标签。如果您不使用标签,则默认标签是最新的。如果没有最新标签,则会导致错误。有关更多详细信息,请参阅在 Azure 容器实例中装载 Azure 文件共享


推荐阅读