Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo ajuda-o a resolver problemas que possa encontrar ao aceder a um registo de contentores Azure numa rede virtual ou atrás de um firewall ou servidor proxy.
Symptoms
Pode incluir um ou mais dos seguintes elementos:
- Não é possível enviar ou puxar imagens e recebe erro
dial tcp: lookup myregistry.azurecr.io - Não é possível enviar ou puxar imagens e recebe erro
Client.Timeout exceeded while awaiting headers - Não é possível enviar ou puxar imagens e recebe erro de CLI do Azure
Could not connect to the registry login server - Não é possível puxar imagens do registo para Azure Kubernetes Service ou outro Azure Service
- Se não conseguir aceder a um registo atrás de um proxy HTTPS, recebe erro
Error response from daemon: login attempt failed with status: 403 ForbiddenouError response from daemon: Get <registry>: proxyconnect tcp: EOF Login failed - Não é possível configurar as definições de rede virtual e recebe erro
Failed to save firewall and virtual network settings for container registry - Não é possível acessar ou exibir configurações do Registro no portal do Azure ou gerenciar o Registro usando a CLI do Azure
- Impossível adicionar ou modificar definições de rede virtual ou regras de acesso público
- O ACR Tasks não consegue enviar ou puxar imagens
- O Microsoft Defender para a Cloud não consegue digitalizar imagens no registo, ou os resultados de análise não aparecem no Microsoft Defender para a Cloud
- Recebe erro
host is not reachableao tentar aceder a um registo configurado com um endpoint privado.
Causas
- Um firewall cliente ou proxy impede o acesso - solução
- As regras de acesso à rede pública no registo impedem o acesso - solução
- A configuração de rede virtual ou endpoint privado impede o acesso - solução
- Tenta integrar o Microsoft Defender para a Cloud ou certos outros serviços Azure com um registo que tenha um ponto de extremidade privado, ponto de extremidade de serviço ou regras de acesso a IP públicas - solução
Diagnóstico adicional
Execute o comando az acr check-health para obter mais informações sobre a integridade do ambiente do Registro e, opcionalmente, acessar um Registro de destino. Por exemplo, diagnosticar certos problemas de conectividade ou configuração de rede.
Consulte Verificar a integridade de um registro de contêiner do Azure para obter exemplos de comando. Se forem reportados erros, reveja a referência de erro e as secções seguintes para soluções recomendadas.
Se estiver a ter problemas ao usar um Serviço Azure Kubernetes com um registo integrado, execute o comando az-aks check-acr para validar que o cluster AKS consegue aceder ao registo.
Nota
Alguns sintomas de conectividade de rede também podem ocorrer quando há problemas com a autenticação ou autorização do registo. Consulte Resolução de problemas de login, autenticação e autorização do registo.
Soluções potenciais
Configurar o acesso ao firewall do cliente
Para aceder a um registo por trás de um firewall cliente ou servidor proxy, configure regras de firewall para aceder aos endpoints públicos REST e dados do registo. Se os endpoints de dados dedicados estiverem ativados, precisa de regras para aceder a:
- Endpoint REST:
<registryname>.azurecr.io - Endpoint(s) de dados:
<registry-name>.<region>.data.azurecr.io
Para um registo geo-replicado, configure o acesso ao endpoint de dados para cada réplica regional.
Por trás de um proxy HTTPS, certifique-se de que tanto o seu cliente Docker como o daemon Docker estão configurados para comportamento de proxy. Se mudares as definições do teu proxy para o daemon Docker, certifica-te de reiniciar o daemon.
Registos de recursos do registo na tabela ContainerRegistryLoginEvents podem ajudar a diagnosticar uma tentativa de ligação bloqueada.
Ligações úteis:
- Configurar regras para acessar um registro de contêiner do Azure atrás de um firewall
- Configuração do proxy HTTP/HTTPS
- Georreplicação na Azure Container Registry
- Monitorizar o Azure Container Registry
Configurar o acesso público ao registo
Se aceder a um registo pela internet, confirme que o registo permite o acesso à rede pública a partir do seu cliente. Por padrão, o registo de contentores do Azure permite o acesso aos endpoints públicos do registo de todas as redes. Um registo pode limitar o acesso a redes selecionadas ou a endereços IP selecionados.
Se o registo estiver configurado para uma rede virtual com um endpoint de serviço, desativar o acesso à rede pública também desativa o acesso sobre o endpoint de serviço. Se o seu registo estiver configurado para uma rede virtual com Private Link, as regras de rede IP não se aplicam aos endpoints privados do registo.
Ligações úteis:
- Configurar regras de rede IP pública
- Ligar de forma privada a um registo de contentor do Azure com o Azure Private Link
- Restringir o acesso a um registro de contêiner usando um ponto de extremidade de serviço em uma rede virtual do Azure
Configurar o acesso ao VNet
Confirme que a rede virtual está configurada com um ponto final privado para Private Link ou um ponto final de serviço (prévia). Atualmente, um endpoint Azure Bastion não é suportado.
Se estiver configurado um endpoint privado, confirme que o DNS resolve o FQDN público do registo, como myregistry.azurecr.io para o endereço IP privado do registo.
- Execute o comando az acr check-health com o parâmetro
--vnetpara confirmar o roteamento DNS para o endpoint privado na rede virtual. - Use uma utilidade de rede, como
digounslookuppara consulta DNS. - Certifique-se de que os registos DNS estão configurados para o FQDN do registo e para cada um dos FQDNs do endpoint de dados.
Revise as regras NSG e as etiquetas de serviço usadas para limitar o tráfego de outros recursos na rede para o registo.
Se estiver configurado um endpoint de serviço para o registo, confirme que foi adicionada uma regra de rede ao registo que permite o acesso a partir dessa sub-rede de rede. O endpoint de serviço só suporta acesso a partir de máquinas virtuais e clusters AKS na rede.
Se quiser restringir o acesso ao registo usando uma rede virtual numa subscrição Azure diferente, certifique-se de registar o Microsoft.ContainerRegistry fornecedor de recursos nessa subscrição.
Registe o fornecedor de recursos para o Azure Container Registry usando o portal Azure, CLI do Azure ou outras ferramentas Azure.
Se o Azure Firewall ou uma solução semelhante estiver configurado na rede, verifique se o tráfego de saída de outros recursos, como um cluster AKS, está ativado para chegar aos endpoints do registo.
Ligações úteis:
- Ligar de forma privada a um registo de contentor do Azure com o Azure Private Link
- Resolver problemas de conectividade do Ponto Final Privado do Azure
- Restringir o acesso a um registro de contêiner usando um ponto de extremidade de serviço em uma rede virtual do Azure
- Regras de rede de saída necessárias e FQDNs para clusters do AKS.
- Kubernetes: Resolução de problemas de resolução DNS
- Etiquetas de serviço da rede virtual
Configurar o acesso ao serviço
Atualmente, o acesso a um registo de contentores com restrições de rede não é permitido a partir de vários serviços Azure:
- O Microsoft Defender para a Cloud não pode realizar varredura de vulnerabilidades de imagem num registo que restrinja o acesso a endpoints privados, sub-redes selecionadas ou endereços IP.
- Os recursos de certos serviços Azure não conseguem aceder a um registo de contentores com restrições de rede, incluindo Serviço de Aplicações do Azure e Azure Container Instances.
Se for necessário aceder ou integrar estes serviços Azure com o seu registo de contentores, remova a restrição de rede. Por exemplo, remover os endpoints privados do registo, ou remover ou modificar as regras de acesso público do registo.
Pode configurar um registo restrito à rede para permitir o acesso a partir de serviços de confiança selecionados.
Ligações úteis:
- Análise de imagens do Registo de Contêineres do Azure pelo Microsoft Defender para registos de contêineres
- Fornecer comentários
- Permitir que serviços confiáveis acessem com segurança um registro de contêiner restrito à rede
Resolução de problemas avançados
Se a recolha de registos de recursos estiver ativada no registo, consulte o registo ContainterRegistryLoginEvents. Esse log armazena eventos e status de autenticação, incluindo a identidade de entrada e o endereço IP. Consulte o log em busca de falhas de autenticação do Registro.
Ligações úteis:
- Registos para avaliação diagnóstica e auditoria
- Perguntas frequentes sobre o registro de contêiner
- Diretrizes de Segurança do Azure para o Azure Container Registry
- Práticas recomendadas para o Registro de Contêiner do Azure
Próximos passos
Se não resolver o problema aqui, consulte as seguintes opções.
- Outros tópicos de solução de problemas do registro incluem:
- Opções de suporte da comunidade
- Perguntas e respostas da Microsoft
- Abra um ticket de suporte