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

无需本地安装Docker:Azure容器注册表镜像上传问题及解决

ACR镜像上传问题的解决方案(无需Docker Desktop)

一、修复令牌登录的认证错误

你碰到的Application not registered with AAD错误,是因为错误替换了登录命令里的username参数。必须使用字面量的全零GUID 00000000-0000-0000-0000-000000000000 作为用户名,不能换成自己的用户GUID。

正确的令牌登录流程:

  1. 获取ACR访问令牌:
SECRET_TOKEN=$(az acr login -n mycontainerreg --expose-token --output tsv --query accessToken)
  1. 用Podman或兼容工具完成登录(无需Docker Desktop):
echo $SECRET_TOKEN | podman login mycontainerreg.azurecr.io --username 00000000-0000-0000-0000-000000000000 --password-stdin

登录完成后,即可用Podman正常推送本地镜像到ACR:

podman tag local-image:tag mycontainerreg.azurecr.io/local-image:tag
podman push mycontainerreg.azurecr.io/local-image:tag

二、完全无需本地容器工具的上传方案

如果连Podman都不想用,还有两种云端侧的方案可选:

1. Azure CLI直接导入镜像

如果供应商的镜像可通过公网访问,直接用az acr import命令让Azure把镜像拉到你的ACR:

az acr import --name mycontainerreg --source docker.io/supplier/image:tag --image local-image:tag

如果是本地导出的镜像.tar文件,先上传到Azure存储账户,再从存储导入:

az acr import --name mycontainerreg --source https://<存储账户名>.blob.core.windows.net/<容器名>/image.tar --image local-image:tag

2. ACR云端任务自动拉取推送

创建ACR任务,让云端直接完成拉取供应商镜像、打标签、推送到你的ACR的全流程,本地只需执行命令触发:

# 创建任务
az acr task create --name import-supplier-image --registry mycontainerreg --context /dev/null --cmd "docker pull docker.io/supplier/image:tag && docker tag docker.io/supplier/image:tag mycontainerreg.azurecr.io/local-image:tag && docker push mycontainerreg.azurecr.io/local-image:tag"
# 触发任务执行
az acr task run --name import-supplier-image --registry mycontainerreg

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 15:52:46