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

Azure ML自定义命令组件:如何使用自定义镜像

关于Azure ML中command_component使用自定义镜像的问题

问题背景

我见过的所有用command_component装饰器创建Azure ML自定义组件的示例,均使用微软容器注册表(MCR)的镜像,比如官方示例代码:

# Converts MNIST-formatted files at the passed-in input path to training data output path and test data output path
import os
from pathlib import Path
from mldesigner import command_component, Input, Output


@command_component(
    name="prep_data",
    version="1",
    display_name="Prep Data",
    description="Convert data to CSV file, and split to training and test data",
    environment=dict(
        conda_file=Path(__file__).parent / "conda.yaml",
        image="mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04",
    ),
)
def prepare_data_component(
    input_data: Input(type="uri_folder"),
    training_data: Output(type="uri_folder"),
    test_data: Output(type="uri_folder"),
):
    convert(
        os.path.join(input_data, "train-images-idx3-ubyte"),
        os.path.join(input_data, "train-labels-idx1-ubyte"),
        os.path.join(training_data, "mnist_train.csv"),
        60000,
    )

我需要使用一个已安装MS-SQL ODBC驱动的自定义镜像,但遇到两个问题:

  • 指定CPU计算节点本地构建的镜像时,提示找不到注册表
  • 使用推送到Azure容器注册表(ACR)的镜像时,不知如何给装饰器传递凭证导致拉取失败

想咨询:是否可以使用自定义镜像?具体操作方法是什么?


解决方案

可以使用自定义镜像,分两种场景处理:

一、使用ACR中的自定义镜像(推荐)

  1. 关联Azure ML工作区与ACR
    确保你的Azure ML工作区和目标ACR建立关联——可以在创建工作区时直接绑定现有ACR,也可以后续通过Azure门户或CLI将ACR附加到工作区。关联后,Azure ML会自动用工作区身份访问ACR,无需手动传递凭证。

  2. 填写正确的镜像地址
    在environment的image参数中填写完整的ACR镜像路径,格式为{acr名称}.azurecr.io/{镜像名}:{标签},示例:

    environment=dict(
        conda_file=Path(__file__).parent / "conda.yaml",
        image="myacr.azurecr.io/mssql-odbc-image:v1",
    )
    
  3. 配置ACR权限
    给工作区的系统分配身份或用户分配身份添加ACR的AcrPull权限:在ACR的「访问控制(IAM)」中添加角色分配,将AcrPull角色授予工作区身份。

二、使用计算节点本地构建的镜像

计算节点本地构建的镜像仅存储在该节点本地,Azure ML管道无法跨节点访问,因此不能直接使用。正确做法是将本地镜像推送到ACR(或其他工作区有权限访问的容器注册表),再按照上述ACR的方式使用。

额外注意事项

  • 如果自定义镜像已包含所有所需依赖,可以省略conda_file参数,直接使用镜像即可。
  • 确保镜像的基础系统与Azure ML计算节点兼容(如Ubuntu 20.04/22.04等常用版本),避免依赖冲突或系统不兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 19:33:09