执行docker compose up时无法使用已创建的Azure存储账户和文件共享
检查存储账户的挂载冲突
Azure File共享在读写模式下不允许同时被多个ACI容器实例挂载。执行az container list --resource-group shapeShopResourceGroup,查看当前资源组内是否有其他容器在使用shapeshopfileshare。如果有,先删除对应容器,或者为MySQL单独创建新的文件共享。核对Docker Compose卷配置
确保你的卷配置参数完整且正确,尤其是跨资源组场景必须指定资源组:volumes: db-data: driver: azure_file driver_opts: account_name: shapeshopstorageaccount account_key: <你的存储账户访问密钥> share_name: shapeshopfileshare storage_account_resource_group: shapeShopResourceGroup遗漏
storage_account_resource_group参数可能导致Docker误判资源归属,触发占用提示。验证存储账户密钥有效性
即使能列出存储账户,密钥可能过期或错误。执行az storage account keys list --account-name shapeshopstorageaccount --resource-group shapeShopResourceGroup重新获取有效密钥,更新到配置文件中。同时确保当前登录的Azure账号拥有该存储账户的读写权限。确认ACI上下文的资源组设置
切换到ACI上下文后,执行docker context inspect aci查看默认资源组是否为shapeShopResourceGroup。如果不符,重新创建指定资源组的ACI上下文:docker context create aci my-aci-context --resource-group shapeShopResourceGroup docker context use my-aci-context清理残留挂载关联
若容器已删除但挂载关联残留,可尝试删除并重新创建shapeshopfileshare(提前备份数据),或通过Azure门户进入存储账户的文件共享页面,检查并释放未断开的挂载连接。
内容的提问来源于stack exchange,提问作者Oliver Watkins

