繁体   English   中英

使用 powershell 将 docker 映像推送到 azure 容器注册表存储库中

[英]Push docker image into azure container registries repository using powershell

我正在尝试使用 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%20login%20to %20log%20in

但他们正在使用 docker 登录。 我没有 docker 登录。

我的问题:-

  1. 我们如何在没有 docker 登录的情况下使用 power-shell 来实现这一点?

恐怕您无法在没有命令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。 您可以在此处查看详细信息。

对于 ACR 的 PowerShell,唯一的一个是获取 ACR 凭据: Get-AzContainerRegistryCredential 但它只为您获取密码。 它不是访问令牌,也不会为您登录。

因此,如果您想使用 PowerShell 命令获取 ACR 凭证,那么您还需要使用 docker 命令登录自己。

推拉之前,到azure,需要先通过az-cli登录

az login
az acr login -n your-registry

或通过 docker

 docker login your-registry.azurecr.io

暂无
暂无

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

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