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

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

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

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

Выполнение команды 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 рассматриваются в разделе Часто задаваемые вопросы.