繁体   English   中英

Docker 通过服务原理登录到 Azure 容器注册表

[英]Docker login to Azure Container Registry by Service Principle

我创建了一个分配了 AcrPush 角色的服务原则。 但是当我从 docker 访问容器注册表时,它会询问我用户名和密码。 我从来没有设置过用户名和密码,如何配置docker来使用服务原理?

您不必设置用户名和密码,因为它已经存在于容器注册表中。 在容器注册表中,您可以启用管理员模式,这就是您获取凭据的地方。 在此处输入图像描述

docker login myregistry.azurecr.io

从门户输入用户名和密码,它应该可以工作。

如果正确创建了服务主体,您可以执行以下操作:

docker login myregistry.azurecr.io --username $SP_APP_ID --password $SP_PASSWD

对于您的问题,您使用具有AcrPush角色的 ACR 的服务主体来推送图像。 用户名和密码是服务主体的 appId 和密码,但您需要注意密码仅在创建服务主体时显示一次。 如果忘记密码,则需要重新设置。 所以 docker 登录将是这样的:

docker login youracr.azurecr.io -u app_id -p app_password

除了@kgalic 的回答之外,您还可以执行以下操作:您没有指定执行docker登录命令的位置,但假设您可以访问 Azure CLI 和适当的凭据,您可以登录到您的azure 容器注册表通过az acr login --name <acrName> 这会将 ACR 凭据向下传递到 docker,因此您无需执行单独的docker login

有关详细信息,请参阅以下内容: https://docs.microsoft.com/en-us/azure/container-registry/container-registry-authentication

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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