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