Vérifier l’intégrité d’un registre de conteneurs Azure

Lorsque vous utilisez un registre de conteneurs Azure, vous pouvez parfois rencontrer des problèmes. Par exemple, vous ne pourrez peut-être pas extraire une image de conteneur en raison d’un problème avec Docker dans votre environnement local. Il est également possible qu’un problème de réseau vous empêche de vous connecter au registre.

Une première étape de diagnostic consiste à exécuter la commande az acr check-health pour obtenir des informations sur l’intégrité de l’environnement et éventuellement sur l’accès à un registre cible. Cette commande est disponible dans Azure CLI, version 2.0.67 ou ultérieure. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.

Pour plus d’informations sur le dépannage du Registre, consultez :

Exécuter az acr check-health

Les exemples suivants montrent différentes façons d’exécuter la commande az acr check-health.

Notes

Si vous exécutez la commande dans Azure Cloud Shell, l’environnement local n’est pas vérifié. Toutefois, vous pouvez vérifier l’accès à un registre cible.

Vérifier uniquement l’environnement

Pour vérifier le démon Docker local, la version de l’interface CLI ainsi que la configuration du client Helm, exécutez la commande sans paramètre supplémentaire :

az acr check-health

Vérifier l’environnement et un registre cible

Pour vérifier l’accès à un registre et vérifier l’environnement local, transmettez le nom d’un registre cible. Par exemple :

az acr check-health --name myregistry

Vérifier l'accès au registre dans un réseau virtuel

Pour vérifier les paramètres DNS à acheminer vers un point de terminaison privé, transmettez l'ID de ressource ou le nom du réseau virtuel. L'ID de ressource est nécessaire lorsque le réseau virtuel se trouve dans un abonnement ou un groupe de ressources différent de celui du registre.

az acr check-health --name myregistry --vnet myvnet

Envoie de rapports d’erreurs

La commande enregistre des informations dans la sortie standard. Si un problème est détecté, il fournit un code d’erreur et une description. Pour plus d’informations sur les codes et les solutions possibles, consultez la référence sur l’erreur.

Par défaut, la commande s’arrête chaque fois qu’elle détecte une erreur. Vous pouvez également exécuter la commande afin qu’elle fournisse la sortie pour toutes les vérifications d’intégrité, même si des erreurs sont détectées. Ajoutez le paramètre --ignore-errors comme indiqué dans les exemples suivants :

# 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

Exemple de sortie :

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

Vérifiez si le registre est configuré avec la mise en quarantaine

Une fois que vous avez activé la mise en quarantaine d’un registre de conteneurs, chaque image que vous publiez dans ce référentiel sera mise en quarantaine. Toutes les tentatives d’accès ou d’extraction d’images mises en quarantaine échouent avec une erreur. Pour plus d’informations, consultez Extraction d’une image en quarantaine.

Étapes suivantes

Pour plus d’informations sur les codes d’erreur retournés par la commande az acr check-health, consultez la référence sur l’erreur de vérification d’intégrité.

Consultez la section FAQ pour voir les questions fréquemment posées et d’autres problèmes connus relatifs à Azure Container Registry.