[英]Azure Container Registry `docker login` does not work
在尝试使用 Active Directory 凭据通过docker login
命令登录 Azure 容器注册表时,我遇到了以下问题:
Error response from daemon: Get https://myregistry.azurecr.io/v2/: unauthorized: authentication required
很明显,权限存在问题,但我找不到达到目标的正确方法。
请注意:
az acr login --name myregistry
工作得非常好,之后我可以上传我的图像,但由于特定情况,我需要一个解决方案,用于docker login
命令和带有 AD 凭据的身份验证。
我尝试使用以下文档向用户提供所需的权限 acrpull/acrpush/acrdelete:
https://docs.microsoft.com/en-us/azure/container-registry/container-registry-auth-service-principal
但没有运气 - 相同的输出。
有没有办法使用docker login
使用 AD 凭据登录 ACR?
您遵循的文档是为容器注册表创建服务主体以进行身份验证的正确方法。 您需要为服务主体分配正确的角色。 该角色在脚本中描述:
# Default permissions are for docker pull access. Modify the '--role'
# argument value as desired:
# acrpull: pull only
# acrpush: push and pull
# owner: push, pull, and assign roles
当服务主体准备好时。 您可以使用命令docker login
,脚本中的变量如下所示:
docker login $ACR_NAME.azurecr.io -u $SP_APP_ID -p $SP_PASSWD
然后它的工作方式如下:
发现问题了!!!! 在我的情况下,端口 443 从我的网络内部关闭,即使使用代理也是如此。 要求网络团队打开443,一切开始正常。
爱护安全团队!!! 最好让端口 80 打开并关闭端口 443,这没什么错... 安全
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.