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 設定を確認するには、仮想ネットワークの名前またはリソース ID を渡します。 仮想ネットワークがレジストリとは異なるサブスクリプションまたはリソース グループにある場合は、リソース ID が必要になります。

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 Container Registry に関するよくあるご質問や他の既知の問題については、FAQ をご覧ください。