Поделиться через


Проверка работоспособности реестра контейнеров Azure

При использовании реестра контейнеров Azure иногда возникают проблемы. Например, вы не можете извлечь образ контейнера из-за проблемы с Docker в локальной среде. Или сетевая ошибка может препятствовать подключению к реестру.

В качестве первого диагностического шага выполните команду az acr check-health , чтобы получить сведения о работоспособности среды и при необходимости получить доступ к целевому реестру. Эта команда доступна в Azure CLI версии 2.0.67 или более поздней. Если вам нужно установить или обновить, см. статью "Установка Azure CLI".

Дополнительные рекомендации по устранению неполадок в реестре см. в статье:

Запуск az acr check-health

В следующих примерах показаны различные способы выполнения az acr check-health команды.

Замечание

Если выполнить команду в Azure Cloud Shell, локальная среда не проверяется. Однако вы можете проверить доступ к целевому реестру.

Проверяйте только среду

Чтобы проверить локальную управляемую программу Docker, версию CLI и конфигурацию клиента Helm, выполните команду без дополнительных параметров:

az acr check-health

Проверьте среду и целевой реестр

Чтобы проверить доступ к реестру, а также выполнить проверки локальной среды, передайте имя целевого реестра. Рассмотрим пример.

az acr check-health --name myregistry

Проверка доступа к реестру в виртуальной сети

Чтобы проверить параметры DNS для маршрутизации в частную конечную точку, передайте имя виртуальной сети или идентификатор ресурса. Идентификатор ресурса требуется, если виртуальная сеть находится в другой подписке или группе ресурсов, отличной от реестра.

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

Отчеты об ошибках

Команда записывает сведения в стандартные выходные данные. Если обнаружена проблема, он предоставляет код ошибки и описание. Дополнительные сведения о кодах и возможных решениях см. в справочнике по ошибкам.

По умолчанию команда останавливается при обнаружении ошибки. Вы также можете выполнить команду, чтобы она предоставляла выходные данные для всех проверок работоспособности, даже если обнаружены ошибки. --ignore-errors Добавьте параметр, как показано в следующих примерах:

# 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

Образец вывода:

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

Проверьте, настроен ли реестр на карантин

После того как вы активируете карантин для реестра контейнеров, каждый образ, опубликованный в этом репозитории, будет помещен в карантин. Любые попытки доступа или извлечения образов из карантина будут завершаться ошибкой. Дополнительные сведения см. в статье "Извлечение образа карантина".

Дальнейшие шаги

Дополнительные сведения о кодах ошибок, возвращаемых командой az acr check-health, см. в справочнике ошибок проверки состояния системы.

Ознакомьтесь с часто задаваемыми вопросами и другими известными проблемами в Реестре контейнеров Azure.