Dela via


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.

Ytterligare felsökningsvägledning för registret finns i:

Kör az acr check-health

I följande exempel visas olika sätt att köra az acr check-health kommandot.

Anteckning

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

Kontrollera den lokala Docker-daemonen, CLI-versionen och Helm-klientkonfigurationen genom att köra 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. Exempel:

az acr check-health --name myregistry

Kontrollera registeråtkomst 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 ett fel hittas. 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 referensen för hälsokontrollfel.

Vanliga frågor och svar och andra kända problem om Azure Container Registry finns i Vanliga frågor och svar.