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

使用OCI上下文构建Azure容器注册表(ACR)失败:无法下载上下文

问题分析与解决方案

你的错误本质是对az acr build的OCI上下文用法理解有误:

  • oci://链接作为build上下文时,Azure ACR期望指向的是OCI Artifact(比如打包的源代码、Helm Chart、OCI格式的配置包等),而非普通的容器镜像。你当前用的是容器镜像的OCI链接,这不符合工具的上下文要求,所以会触发下载失败的错误。

正确实现方式

根据你的需求(基于另一个ACR的镜像构建新镜像),正确的做法是:

  1. 编写Dockerfile,在其中通过FROM指令引用目标镜像:
    FROM mycontainerregistry.azurecr.io/dotnetapp:latest
    # 后续添加你的构建步骤,比如安装依赖、复制代码等
    
  2. 执行az acr build命令时,将本地或代码仓库作为上下文,指定Dockerfile路径:
    az acr build -r mycontainerregistry -f Dockerfile .
    

若确实需要使用OCI上下文(用于传递构建源码/配置)

如果你的场景是要把构建上下文打包成OCI Artifact存储到ACR,再通过oci://链接引用,需按以下步骤操作:

  • 将本地构建上下文(比如源码目录)打包为OCI Artifact并推送到ACR:
    az acr pack build -r mycontainerregistry --artifact-type oci-image --context . oci://mycontainerregistry.azurecr.io/build-context:v1
    
  • 之后再用这个OCI Artifact的链接作为az acr build的上下文:
    az acr build -r mycontainerregistry oci://mycontainerregistry.azurecr.io/build-context:v1
    

额外验证步骤

执行以下命令确认ACR中存在正确的OCI Artifact(而非普通镜像):

az acr artifact list -r mycontainerregistry

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 00:46:09