求助:如何从现有Azure Container Registry拉取镜像至本地
解决Azure Container Registry登录失败及拉取镜像的步骤
一、先解决ACR登录认证问题
有两种可靠的登录方式,优先使用Azure CLI自动认证:
方式1:Azure CLI自动登录(推荐)
- 打开终端,登录你的Azure账号:
按照提示完成验证(浏览器打开链接输入设备码,或直接在终端完成登录)az login - 登录目标ACR:
执行成功后会提示az acr login --name <你的ACR名称>Login Succeeded,此时Docker已自动完成认证,无需手动输入用户名密码。
方式2:使用ACR管理员凭证登录
如果需要手动输入用户名密码,先获取正确的凭证:
- 启用ACR管理员账户(若未启用):
az acr update --name <你的ACR名称> --admin-enabled true - 获取管理员用户名:
az acr credential show --name <你的ACR名称> --query username --output tsv - 获取其中一个管理员密码:
az acr credential show --name <你的ACR名称> --query passwords[0].value --output tsv - 使用Docker登录ACR:
注:ACR登录服务器格式为docker login <你的ACR登录服务器> -u <获取到的用户名> -p <获取到的密码><你的ACR名称>.azurecr.io
二、登录成功后拉取镜像
- 查看ACR中的所有镜像仓库:
az acr repository list --name <你的ACR名称> --output table - 查看目标镜像的所有标签:
az acr repository show-tags --name <你的ACR名称> --repository <镜像仓库名称> --output table - 拉取指定镜像到本地:
示例:docker pull <你的ACR登录服务器>/<镜像仓库名称>:<标签>docker pull myacr001.azurecr.io/my-web-app:v1
额外注意事项
- 确保本地已安装Azure CLI和Docker,且Docker服务处于运行状态
- 如果ACR配置了防火墙规则,需将本地机器IP添加到ACR的允许访问列表,或者开启"允许Azure服务访问"选项
- 若拉取时遇到网络问题,检查本地网络是否能正常访问Azure服务
内容的提问来源于stack exchange,提问作者Jix Tang
相关产品推荐
相关产品推荐

