You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Azure Machine Learning部署模型时遭遇Docker镜像创建失败

Azure ML部署模型时Docker镜像创建失败的排查与解决

问题场景

本地构建的分类模型已在Azure ML完成注册,部署为Web服务时触发Docker镜像创建失败错误。

相关代码

wenv= CondaDependencies()
wenv.add_conda_package("scikit-learn")

with open("wenv.yml", "w") as f:
    f.write(wenv.serialize_to_string())
with open("wenv.yml","r") as f:
    print(f.read())

image_config =ContainerImage.image_configuration(execution_script="scorete.py",
runtime="python",
conda_file="wenv.yml")

# Expose Web Service
service_name = 'telecoinference'
service =Webservice.deploy_from_model(workspace= ws,
name= service_name,
deployment_config=aciconfig,
models=[model],
image_config=image_config)
service.wait_for_deployment(show_output=True)
print(service.state)

报错信息

WebserviceException                       Traceback (most recent call last)
<ipython-input-50-cbddf70eccff> in <module>
7                                      deployment_config=aciconfig,
8                                      models=[model],
----> 9                                      image_config=image_config)
10 service.wait_for_deployment(show_output=True)
11 print(service.state)

~\\AppData\\Roaming\\Python\\Python36\\site-packages\\azureml\\core\\webservice\\webservice.py in deploy_from_model(workspace, name, models, image_config, deployment_config, deployment_target, overwrite)
450
451         image = Image.create(workspace, name, models, image_config)
--> 452         image.wait_for_creation(True)
453         if image.creation_state != 'Succeeded':
454             raise WebserviceException('Error occurred creating image {} for service. More information can be found '

~\\AppData\\Roaming\\Python\\Python36\\site-packages\\azureml\\core\\image\\image.py in wait_for_creation(self, show_output)
452                                       'current state: {}\\n'
453                                       'Error response from server:\\n'
--> 454                                       '{}'.format(self.creation_state, error_response), logger=module_logger)
455
456         print('Image creation operation finished for image {}, operation "{}"'.format(self.id, operation_state))

WebserviceException: WebserviceException:
Message: Image creation polling reached non-successful terminal state, current state: Failed
Error response from server:
StatusCode: 400
Message: Docker image build failed.
InnerException None
ErrorResponse
{
"error": {
"message": "Image creation polling reached non-successful terminal state, current state: Failed\\nError response from server:\\nStatusCode: 400\\nMessage: Docker image build failed."
}
}

排查与解决方向

  • 对齐依赖版本:确保scikit-learn版本和训练模型时完全一致,可在添加包时指定具体版本,比如wenv.add_conda_package("scikit-learn==0.24.2"),避免版本不兼容导致构建失败。
  • 补全依赖包:检查wenv.yml是否包含模型训练和推理所需的所有库(如pandas、numpy等),缺失依赖会导致镜像安装环节出错。
  • 验证推理脚本:确认scorete.py中导入的所有库都在conda环境中声明,同时检查模型加载路径是否正确(Azure ML部署时需用Model.get_model_path获取模型路径)。
  • 查看构建日志:登录Azure ML工作室找到对应镜像,查看详细构建日志,定位具体失败步骤(如包安装超时、包不存在等)。
  • 调整ACI资源配置:检查aciconfig设置的CPU、内存资源是否足够,资源不足可能导致构建过程中断。
  • 确认权限:确保当前账号拥有创建Docker镜像和部署Web服务的完整权限,避免因权限不足触发失败。

内容的提问来源于stack exchange,提问作者LohitRC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 06:05:26