Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 在引入私有终结点后尝试部署容器映像时出错_Azure_Azure Devops_Azure Cli_Azure Container Instances_Azure Container Registry - Fatal编程技术网

Azure 在引入私有终结点后尝试部署容器映像时出错

Azure 在引入私有终结点后尝试部署容器映像时出错,azure,azure-devops,azure-cli,azure-container-instances,azure-container-registry,Azure,Azure Devops,Azure Cli,Azure Container Instances,Azure Container Registry,此命令: az container create --resource-group MyRespourceGroup --name AcrName --image bla.azurecr.io/test3:latest --cpu 1 --memory 1 --registry-login-server XXXX.azurecr.io --registry-username XYZ --registry-passwo

此命令:

az container create 
    --resource-group MyRespourceGroup 
    --name AcrName 
    --image bla.azurecr.io/test3:latest 
    --cpu 1 
    --memory 1 
    --registry-login-server XXXX.azurecr.io 
    --registry-username XYZ 
    --registry-password XYZ 
    --dns-name-label test1234 
    --ports 80
在为容器注册表引入私有端点以防止将正在运行的图像暴露到Internet之前,它工作得很好(我只是检查了一下,创建了一个没有私有端点的注册表,它工作得很好)。现在我收到一条毫无用处的错误消息:

An error response is received from the docker registry 'AcrName'. Please retry later.
我如何进一步调试它,甚至重新部署?也许只有在部署ACI之后才能创建私有端点


谢谢

因此,我能够复制我这边的问题。此错误在启用私有端点和禁用公共访问时特别显示。您正试图通过其公共DNS名称访问ACR

专用终结点配置:

公共访问配置:

对于上述设置,我得到以下结果:

从docker注册表“kumbernetsreg.azurecr.io”接收到错误响应。请稍后重试。

然后,当公共访问设置为
所有网络
时,我实际上会收到一个不同的错误,可能与我正在使用的图像有关:

无法访问容器组“mycont”中的图像“xxxx.privatelink.azurecr.io/hello world:latest”。请检查图像和注册表凭据。

无法访问容器组“mycont”中的图像“xxxx.azurecr.io/hello world:latest”。请检查图像和注册表凭据。


如果需要再次从ACR中提取图像,则在创建ACI后创建端点可能会导致其他问题。您可以与IT部门联系,了解如何使用专用链接DNS区域访问专用端点
xxxx.privatelink.azurecr.io

如果它使用的是专用端点,我猜您正在尝试从可以到达该端点的子网内/在专用端点链接上访问它,对吗?编辑:刚刚注意到你的命令-我以为你提供了来自Azure文档的示例。您可以使用xxxx.privatelink.azurecr.io作为名称吗?并从位于专用终结点子网中的计算机上进行尝试?我尝试使用所述命令从中部署映像的计算机(vm)位于同一网络中。刚刚更新了我的msg-当Azure资源上有专用终结点时,您可以尝试使用xxx.privatelink.azurecr.ioSo吗,它需要通过privatelink fqdn而不是公共fqdn进行访问。我们为大量资源启用了私有端点,并且经常会遇到这种情况——尽管我不确定您的端点是否类似。接下来可以验证的是:ping privatelink/private endoint以查看它是否解析为同一网络上的IP。如果解决,请检查ip是否位于同一子网/中间的任何nsg阻止访问。实际上,它是专用端点,似乎不可能做到这一点,它不受支持。我发现了这个:这是检查
注释
重要
部分。谢谢,我明天会继续努力。我在想这个周末,为什么我真的要拿到ACR。原因只能是为了保护图像回购?难道不应该保护ACI吗?是的!它允许私人访问推/拉您的ACR图像,而不是通过互联网。在您的情况下,您真正想要保护的是ACI,它包含需要完全私有的实际服务。对它做了更多的研究,但实际上没有人支持你的场景。稍后我会更新我的答案。还探讨了使ACI成为可信服务是否有帮助,但网络受限ACR不支持ACI。这是所有az文档中的全部内容: