繁体   English   中英

Azure 容器注册表`docker login` 不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM