运行状况检查错误参考
下面是有关 az acr check-health 命令返回的错误代码的详细信息。 其中针对每个错误列出了可能的解决方法。
有关运行 az acr check-health
的信息,请参阅检查 Azure 容器注册表的运行状况。
DOCKER_COMMAND_ERROR
此错误表示找不到 CLI 的 Docker 客户端。 因此,以下附加检查未运行:查找 Docker 版本、评估 Docker 守护程序状态,以及运行 Docker pull 命令。
可能的解决方法:安装 Docker 客户端;将 Docker 路径添加到系统变量。
DOCKER_DAEMON_ERROR
此错误表示 Docker 守护程序状态未提供,或者无法使用 CLI 访问状态。 因此,无法通过 CLI 使用 Docker 操作(例如 docker login
和 docker pull
)。
可能的解决方法:重启 Docker 守护程序,或验证其是否已正确安装。
DOCKER_VERSION_ERROR
此错误表示 CLI 无法运行命令 docker --version
。
可能的解决方法:尝试手动运行该命令,确保安装最新的 CLI 版本,并调查错误消息。
DOCKER_PULL_ERROR
此错误表示 CLI 无法将示例映像提取到环境中。
可能的解决方法:验证提取映像所需的所有组件是否正常运行。
HELM_COMMAND_ERROR
此错误表示 CLI 找不到 Helm 客户端,导致其他 Helm 操作无法运行。
可能的解决方法:验证是否已安装 Helm 客户端,并验证其路径是否已添加到系统环境变量。
HELM_VERSION_ERROR
此错误表示 CLI 无法确定安装的 Helm 版本。 如果使用的 Azure CLI 版本(或 Helm 版本)已过时,则可能会发生这种情况。
可能的解决方法:更新到最新的 Azure CLI 版本或建议的 Helm 版本;手动运行命令并调查错误消息。
CMK_ERROR
此错误表示注册表无法访问用户分配或系统分配的托管标识,只有使用该标识才能通过客户管理的密钥配置注册表加密。 托管标识可能已被删除。
可能的解决方案:若要解决此问题并使用其他托管标识轮换密钥,请参阅对用户分配的标识进行故障排除的步骤。
CONNECTIVITY_DNS_ERROR
此错误表示已对给定注册表登录服务器的 DNS 执行 ping 操作,但未收到响应。这意味着该服务器不可用。 这可能表示出现了某些连接问题。 或者,注册表可能不存在、用户可能对注册表没有权限(因此无法正常检索其登录服务器),或者目标注册表所在的云与 Azure CLI 中使用的云不同。
可能的解决方法:验证连接;验证注册表的拼写,并验证注册表是否存在;验证用户是否对注册表拥有适当的权限,以及注册表所在的云是否与 Azure CLI 中使用的云相同。
CONNECTIVITY_FORBIDDEN_ERROR
此错误表示给定注册表的质询终结点响应了“403 禁止”HTTP 状态。 此错误表示用户无权访问注册表,原因很可能是虚拟网络配置有问题或不允许访问注册表的公共终结点。 若要查看当前配置的防火墙规则,请运行 az acr show --query networkRuleSet --name <registry>
。
可能的解决方法:删除虚拟网络规则,或将当前的客户端 IP 地址添加到允许列表。
CONNECTIVITY_CHALLENGE_ERROR
此错误表示目标注册表的质询终结点未发出质询。
可能的解决方法:请在一段时间后重试。 如果该错误持续出现,请通过 https://aka.ms/acr/issues 报告问题。
CONNECTIVITY_AAD_LOGIN_ERROR
此错误表示目标注册表的质询终结点发出了质询,但注册表不支持 Microsoft Entra 身份验证。
可能的解决方法:尝试使用不同的身份验证方法,例如,使用管理员凭据。 如果用户需要使用 Microsoft Entra ID 进行身份验证,请通过 https://aka.ms/acr/issues 报告问题。
CONNECTIVITY_REFRESH_TOKEN_ERROR
此错误表示注册表登录服务器未使用刷新令牌做出响应,因此被拒绝访问目标注册表。 如果用户对注册表没有适当的权限,或者 Azure CLI 的用户凭据已过时,则可能会发生此错误。
可能的解决方法:验证用户是否对注册表拥有适当的权限;运行 az login
以刷新权限、令牌和凭据。
CONNECTIVITY_ACCESS_TOKEN_ERROR
此错误表示注册表登录服务器未使用访问令牌做出响应,因此被拒绝访问目标注册表。 如果用户对注册表没有适当的权限,或者 Azure CLI 的用户凭据已过时,则可能会发生此错误。
可能的解决方法:验证用户是否对注册表拥有适当的权限;运行 az login
以刷新权限、令牌和凭据。
CONNECTIVITY_SSL_ERROR
此错误表示客户端无法与容器注册表建立安全连接。 如果运行或使用代理服务器,则往往会发生此错误。
可能的解决方法:可在此处找到有关如何使用代理的详细信息。
LOGIN_SERVER_ERROR
此错误表示 CLI 找不到给定注册表的登录服务器,并且找不到当前云的任何默认后缀。 如果注册表不存在、用户对注册表没有适当的权限、注册表所在的云与当前 Azure CLI 云不匹配,或者 Azure CLI 版本已过时,则可能会发生此错误。
可能的解决方法:验证拼写是否正确,注册表是否存在;验证用户是否对注册表拥有适当的权限,注册表和 CLI 环境的云是否匹配;将 Azure CLI 更新到最新版本。
NOTARY_VERSION_ERROR
此错误表示 CLI 与当前安装的 Docker/Notary 版本不兼容。 通过手动替换 Docker 安装的公证客户端,尝试将你的 notary.exe 版本降级到 0.6.0 之前的版本来解决此问题。 你还可以尝试从 GitHub 上 Notary 存储库的“发布”页中下载并安装早于 0.6.0 的 Notary 预编译二进制文件,该文件适用于 64 位 Linux 或 macOS X。 对于 Windows,请下载 .exe,将其置于(默认路径:C:\ProgramFiles\Docker\Docker\resources\bin),并将其重命名为 notary.exe。
CONNECTIVITY_TOOMANYREQUESTS_ERROR
此错误意味着用户在短时间内发送了过多请求,导致身份验证系统阻止进一步的请求以防止过载。 在用户的注册表服务层或环境中达到配置限制时,会发生此错误。 建议在发送另一个请求之前稍等片刻。 这将允许身份验证系统解除阻止,你可以再次尝试发送请求。
后续步骤
有关用于检查注册表运行状况的选项,请参阅检查 Azure 容器注册表的运行状况。
参阅常见问题解答,其中解答了有关 Azure 容器注册表的常见问题和其他已知问题。