我正在尝试使用power-shell命令将docker镜像推送到azure容器注册库,如下所示:-
docker push containerregone.azurecr.io/azure-vote-front:V1它给出了以下错误
unauthorized: authentication required, visit https://aka.ms/acr/authorization for more information.我尝试使用以下文档查找与此相关的帮助
https://docs.microsoft.com/en-us/azure/container-registry/container-registry-faq
https://docs.microsoft.com/en-us/azure/container-registry/container-registry-authentication
但它提供了Azure CLI命令。
我也尝试过使用下面的链接来做到这一点
https://stackoverflow.com/questions/50817945/what-is-the-powershell-equivalent-to-az-acr-login#:~:text=There%20is%20no%20single%20powershell,docker%20loging%20to%20log%20in
..。
但他们使用的是docker登录。我没有docker登录。
我的问题是:
我们如何在没有docker登录的情况下使用power-shell来实现这一点呢?
发布于 2020-08-17 09:36:13
恐怕您无法在没有命令docker login的情况下使用 PowerShell 完成此操作。让我们看一下 ACR 凭证的命令。
当您在没有运行 docker 守护程序的情况下直接使用 ACR 的 CLI 命令az acr login时,您将收到与此类似的错误:
无法连接到 unix:///var/run/docker.sock 上的 Docker 守护程序。 docker 守护进程是否正在运行?
这意味着 CLI 命令 az acr login取决于 docker 服务器。当您按照文档所示运行 CLI 命令 az acr login --expose-token时,它只会公开 ACR 的访问令牌,而无需登录 docker。您还需要自己登录 docker。您可以在here.查看详细信息。
对于 ACR 的 PowerShell,唯一的方法是获取 ACR 凭据:Get-AzContainerRegistryCredential。但它只为您获取密码。它不是访问令牌,也不会为您登录。
因此,如果您想使用 PowerShell 命令获取 ACR 凭证,那么您还需要使用 docker 命令登录自己。
发布于 2021-03-01 17:41:08
在推送或拉取到azure之前,您需要首先使用az-cli登录
az login
az acr login -n your-registry或者通过docker
docker login your-registry.azurecr.iohttps://stackoverflow.com/questions/63434266
复制相似问题