Kontrollera hälsotillståndet för ett Azure-containerregister
När du använder ett Azure-containerregister kan det ibland uppstå problem. Du kanske till exempel inte kan hämta en containeravbildning på grund av ett problem med Docker i din lokala miljö. Eller så kan ett nätverksproblem hindra dig från att ansluta till registret.
Som ett första diagnostiskt steg kör du kommandot az acr check-health för att få information om miljöns hälsotillstånd och eventuellt åtkomst till ett målregister. Det här kommandot är tillgängligt i Azure CLI version 2.0.67 eller senare. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.
Mer information om felsökning av register finns i:
Kör az acr check-health
I följande exempel visas olika sätt att köra az acr check-health
kommandot.
Kommentar
Om du kör kommandot i Azure Cloud Shell kontrolleras inte den lokala miljön. Du kan dock kontrollera åtkomsten till ett målregister.
Kontrollera endast miljön
Om du vill kontrollera den lokala Docker-daemonen, CLI-versionen och Helm-klientkonfigurationen kör du kommandot utan ytterligare parametrar:
az acr check-health
Kontrollera miljön och ett målregister
Om du vill kontrollera åtkomsten till ett register och utföra lokala miljökontroller skickar du namnet på ett målregister. Till exempel:
az acr check-health --name myregistry
Kontrollera registeråtkomsten i ett virtuellt nätverk
Om du vill verifiera DNS-inställningarna för att dirigera till en privat slutpunkt skickar du det virtuella nätverkets namn eller resurs-ID. Resurs-ID krävs när det virtuella nätverket finns i en annan prenumeration eller resursgrupp än registret.
az acr check-health --name myregistry --vnet myvnet
Felrapportering
Kommandot loggar information till standardutdata. Om ett problem identifieras innehåller det en felkod och en beskrivning. Mer information om koder och möjliga lösningar finns i felreferensen.
Som standard stoppas kommandot när det hittar ett fel. Du kan också köra kommandot så att det ger utdata för alla hälsokontroller, även om fel hittas. Lägg till parametern --ignore-errors
enligt följande exempel:
# Check environment only
az acr check-health --ignore-errors
# Check environment and target registry; skip confirmation to pull image
az acr check-health --name myregistry --ignore-errors --yes
Exempel på utdata:
az acr check-health --name myregistry --ignore-errors --yes
Docker daemon status: available
Docker version: Docker version 18.09.2, build 6247962
Docker pull of 'mcr.microsoft.com/mcr/hello-world:latest' : OK
ACR CLI version: 2.2.9
Helm version:
Client: &version.Version{SemVer:"v2.14.1", GitCommit:"5270352a09c7e8b6e8c9593002a73535276507c0", GitTreeState:"clean"}
DNS lookup to myregistry.azurecr.io at IP 40.xxx.xxx.162 : OK
Challenge endpoint https://myregistry.azurecr.io/v2/ : OK
Fetch refresh token for registry 'myregistry.azurecr.io' : OK
Fetch access token for registry 'myregistry.azurecr.io' : OK
Kontrollera om registret har konfigurerats med karantän
När du aktiverar att ett containerregister sätts i karantän kommer varje avbildning som du publicerar till den här lagringsplatsen att placeras i karantän. Alla försök att komma åt eller hämta bilder i karantän misslyckas med ett fel. Mer information finns i hämta karantänbilden.
Nästa steg
Mer information om felkoder som returneras av kommandot az acr check-health finns i felreferensen för hälsokontroll.
Se Vanliga frågor och svar om vanliga frågor och andra kända problem om Azure Container Registry.