التحقق من صحة Azure Container Registry

عند استخدام Azure Container Registry، قد تواجه مشكلات من حين لآخر. على سبيل المثال، قد لا تتمكن من سحب صورة حاوية بسبب مشكلة مع Docker في البيئة المحلية. أو قد تمنعك مشكلة في الشبكة من الاتصال بالسجل.

كخطوة تشخيصية أولى، قم بتشغيل الأمر az acr check-health للحصول على معلومات حول صحة البيئة والوصول اختيارياً إلى سجل هدف. يتوفر هذا الأمر في الإصدار 2.0.67 من Azure CLI أو إصدار أحدث. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI.

للحصول على إرشادات إضافية حول استكشاف أخطاء السجل وإصلاحها، راجع:

تشغيل az acr check-health

توضح الأمثلة التالية طرقاً مختلفة لتشغيل الأمر az acr check-health.

ملاحظة

إذا قمت بتشغيل الأمر في Azure Cloud Shell، فلن يتم التحقق من البيئة المحلية. ومع ذلك، يمكنك التحقق من الوصول إلى السجل الهدف.

التحقق من البيئة فقط

للتحقق من Docker daemon المحلي وإصدار 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 Container Registry.