Azure DevOps拉取ACR自定义镜像失败:未授权认证请求
解决Azure DevOps流水线拉取ACR私有镜像失败的问题
问题原因
流水线未向Azure Container Registry(ACR)提供合法认证凭据,导致拉取私有镜像时被权限拦截。
解决方案
以下两种配置方式均可解决问题:
方式1:直接配置ACR凭据到流水线
在azure-pipelines.yml的container节点中添加认证字段,填入ACR的用户名(即ACR注册表名称)和访问密钥(可在ACR控制台的「访问密钥」页面获取):
jobs: - job: rf container: image: test.net/rethrf:8944 credentials: username: <你的ACR注册表名称> password: <你的ACR访问密钥>
安全提示:不要明文写密码,建议将密码存入Azure DevOps的秘密变量或变量组,通过
$(变量名)引用,例如:password: $(ACR_PULL_PASSWORD)
方式2:使用Azure资源服务连接
- 在Azure DevOps项目中创建Azure资源管理器服务连接,关联ACR所在的Azure订阅与资源组
- 在流水线配置中指定该服务连接作为镜像拉取的认证端点:
jobs: - job: rf container: image: test.net/rethrf:8944 endpoint: <你的Azure资源服务连接名称>
额外检查项
- 确认ACR注册表名称、镜像标签、服务连接名称完全匹配
- 确保服务连接对应的Azure账号拥有ACR的
AcrPull(拉取)权限
内容的提问来源于stack exchange,提问作者rkevx21
相关产品推荐
相关产品推荐

