التحقق من صحة 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.