تتناول هذه المقالة الأسئلة المتداولة والمشكلات الشائعة حول Azure Container Registry.
للحصول على إرشادات حول استكشاف أخطاء التسجيل وإصلاحها، راجع:
إدارة الموارد
هل يمكنني إنشاء Azure Container Registry باستخدام قالب مدير الموارد؟
نعم. إليك نموذجاً يمكنك استخدامه لإنشاء سجل.
هل يوجد فحص للثغرات الأمنية للصور في ACR؟
نعم. راجع الوثائق من Microsoft Defender for Cloud وTwistlock وAqua.
كيف يمكنني تكوين Kubernetes باستخدام Azure Container Registry؟
راجع وثائق Kubernetes وخطوات Azure Kubernetes Service.
كيف أحصل على بيانات اعتماد المسؤول لسجل حاوية؟
هام
تم تصميم حساب المستخدم الإداري لمستخدم واحد للوصول إلى السجل، وذلك بشكل أساسي لأغراض الاختبار. لا نوصي بمشاركة بيانات اعتماد حساب المسؤول مع عدة مستخدمين. يوصى بالهوية الفردية للمستخدمين ومبادئ الخدمة لسيناريوهات بدون أجهزة ملحقة. انظر نظرة عامة على المصادقة.
قبل الحصول على بيانات اعتماد المسؤول، تأكد من تمكين مستخدم مسؤول التسجيل.
للحصول على بيانات الاعتماد باستخدام Azure CLI:
az acr credential show -n myRegistry
استخدام Azure PowerShell:
Invoke-AzureRmResourceAction -Action listCredentials -ResourceType Microsoft.ContainerRegistry/registries -ResourceGroupName myResourceGroup -ResourceName myRegistry
كيف أحصل على بيانات اعتماد المسؤول في قالب مدير الموارد؟
هام
تم تصميم حساب المستخدم الإداري لمستخدم واحد للوصول إلى السجل، وذلك بشكل أساسي لأغراض الاختبار. لا نوصي بمشاركة بيانات اعتماد حساب المسؤول مع عدة مستخدمين. يوصى بالهوية الفردية للمستخدمين ومبادئ الخدمة لسيناريوهات بدون أجهزة ملحقة. انظر نظرة عامة على المصادقة.
قبل الحصول على بيانات اعتماد المسؤول، تأكد من تمكين مستخدم مسؤول التسجيل.
للحصول على كلمة المرور الأولى:
{
"password": "[listCredentials(resourceId('Microsoft.ContainerRegistry/registries', 'myRegistry'), '2017-10-01').passwords[0].value]"
}
للحصول على كلمة المرور الثانية:
{
"password": "[listCredentials(resourceId('Microsoft.ContainerRegistry/registries', 'myRegistry'), '2017-10-01').passwords[1].value]"
}
فشل حذف النسخ المتماثل مع حالة ممنوعة على الرغم من حذف النسخ المتماثل باستخدام Azure CLI أو Azure PowerShell
يظهر الخطأ عندما يكون لدى المستخدم أذونات على سجل ولكن ليست لديه أذونات على مستوى القارئ للاشتراك. لحل هذه المشكلة، عيّن أذونات القارئ على الاشتراك للمستخدم:
az role assignment create --role "Reader" --assignee user@contoso.com --scope /subscriptions/<subscription_id>
يتم تحديث قواعد جدار الحماية بنجاح ولكنها لا تسري
يستغرق نشر تغييرات قواعد جدار الحماية بعض الوقت. بعد تغيير إعدادات جدار الحماية، يرجى الانتظار لبضع دقائق قبل التحقق من هذا التغيير.
عمليات السجل
كيف يمكنني الوصول إلى Docker Registry HTTP API V2؟
ACR يدعم Docker Registry HTTP API V2. يمكن الوصول إلى واجهات برمجة التطبيقات على https://<your registry login server>/v2/
. مثال: https://mycontainerregistry.azurecr.io/v2/
كيف أحذف جميع البيانات التي لم تتم الإشارة إليها بواسطة أي علامة في المستودع؟
إذا كنت تستخدم حفلة:
az acr manifest list-metadata --name myRepository --registry myRegistry --query "[?tags[0]==null].digest" --output tsv | xargs -I% az acr repository delete --name myRegistry ---image myRepository@%
بالنسبة إلى PowerShell:
az acr manifest list-metadata --name myRepository --repository myRegistry --query "[?tags[0]==null].digest" --output tsv | %{ az acr repository delete --name myRegistry --image myRepository@$_ }
إشعار
يمكنك إضافة -y
في أمر الحذف لتخطي التأكيد.
لمزيد من المعلومات، راجع حذف صور الحاوية في Azure Container Registry.
لماذا لا يتم تقليل استخدام حصة التسجيل بعد حذف الصور؟
قد يحدث هذا الموقف إذا كان لا يزال يتم الرجوع إلى الطبقات الأساسية بواسطة صور حاوية أخرى. إذا قمت بحذف صورة بدون مراجع، فسيتم تحديث استخدام السجل في غضون بضع دقائق.
كيف يمكنني التحقق من صحة تغييرات حصة التخزين؟
قم بإنشاء صورة باستخدام طبقة سعة 1 جيجابايت باستخدام ملف docker التالي. هذا يضمن أن الصورة بها طبقة لا تشاركها أي صورة أخرى في السجل.
FROM alpine
RUN dd if=/dev/urandom of=1GB.bin bs=32M count=32
RUN ls -lh 1GB.bin
قم بإنشاء الصورة ودفعها إلى السجل الخاص بك باستخدام docker CLI.
docker build -t myregistry.azurecr.io/1gb:latest .
docker push myregistry.azurecr.io/1gb:latest
يجب أن تكون قادراً على رؤية زيادة استخدام التخزين في بوابة Azure، أو يمكنك الاستعلام عن الاستخدام باستخدام CLI.
az acr show-usage -n myregistry
احذف الصورة باستخدام Azure CLI أو البوابة الإلكترونية وتحقق من الاستخدام المحدث في غضون بضع دقائق.
az acr repository delete -n myregistry --image 1gb
كيف يمكنني المصادقة مع السجل الخاص بي عند تشغيل CLI في حاوية؟
تحتاج إلى تشغيل حاوية Azure CLI عن طريق تركيب مقبس Docker:
docker run -it -v /var/run/docker.sock:/var/run/docker.sock azuresdk/azure-cli-python:dev
في الحاوية، قم بتثبيت docker
:
apk --update add docker
ثم قم بالمصادقة مع السجل الخاص بك:
az acr login -n MyRegistry
كيفية تمكين TLS 1.2؟
قم بتمكين TLS 1.2 باستخدام أي عميل Docker حديث (الإصدار 18.03.0 وما بعده).
هام
اعتباراً من 13 يناير 2020، سيتطلب Azure Container Registry كافة الاتصالات الآمنة من الخوادم والتطبيقات لاستخدام TLS 1.2. سيتم إيقاف دعم TLS 1.0 و1.1.
هل يدعم Azure Container Registry ثقة المحتوى؟
نعم، يمكنك استخدام الصور الموثوقة في Azure Container Registry، حيث تم دمج Docker Notary ويمكن تمكينه. للحصول على تفاصيل، راجع ثقة المحتوى في Azure Container Registry.
أين يوجد ملف بصمة الإبهام؟
أسفل ~/.docker/trust/tuf/myregistry.azurecr.io/myrepository/metadata
:
- يتم تخزين الشهادات والمفاتيح العامة لجميع الأدوار (باستثناء أدوار التفويض) في
root.json
. - يتم تخزين الشهادات والمفاتيح العامة لدور التفويض في ملف JSON لدوره الرئيسي (على سبيل المثال
targets.json
للدورtargets/releases
).
يُقترح التحقق من تلك المفاتيح والشهادات العامة بعد التحقق الشامل من TUF الذي قام به عميل Docker وNotary.
كيف أمنح حق الوصول لسحب الصور أو دفعها بدون إذن لإدارة مورد التسجيل؟
يدعم ACR الأدوار المخصصة التي توفر مستويات مختلفة من الأذونات. على وجه التحديد، تسمح الأدوار AcrPull
وAcrPush
للمستخدمين بسحب و/أو دفع الصور دون إذن لإدارة مورد السجل في Azure.
مدخل Microsoft Azure: السجل الخاص بك >التحكم في الوصول> (IAM) إضافة (حدد
AcrPull
أوAcrPush
للدور).Azure CLI: ابحث عن معرف المورد للسجل عن طريق تشغيل الأمر التالي:
az acr show -n myRegistry
بعد ذلك يمكنك تعيين الدور
AcrPull
أوAcrPush
لمستخدم (يستخدم المثال التاليAcrPull
):az role assignment create --scope resource_id --role AcrPull --assignee user@example.com
أو قم بتعيين الدور لمدير الخدمة المحدد بواسطة معرف التطبيق الخاص به:
az role assignment create --scope resource_id --role AcrPull --assignee 00000000-0000-0000-0000-000000000000
عندئذٍ يكون المحال إليه قادراً على المصادقة والوصول إلى الصور الموجودة في السجل.
للمصادقة على التسجيل:
az acr login -n myRegistry
لسرد المستودعات:
az acr repository list -n myRegistry
لسحب صورة:
docker pull myregistry.azurecr.io/hello-world
باستخدام الدور AcrPull
أو AcrPush
فقط، لا يمتلك المتنازل له الإذن بإدارة مورد السجل في Azure. على سبيل المثال، لن يُظهر az acr list
أو az acr show -n myRegistry
السجل.
كيف يمكنني تمكين فحص صور تلقائياً للسجل؟
يعد فحص الصورة حالياً ميزة معاينة لـ ACR. يمكنك تمكين وضع الفحص للسجل بحيث تكون الصور التي اجتازت بنجاح فحص الأمان فقط مرئية للمستخدمين العاديين. للحصول على تفاصيل، راجع ACR GitHub repo.
كيف أقوم بتمكين وصول مجهول؟
لمزيد من المعلومات، راجع جعل محتوى السجل متاحاً عموماً.
كيف أقوم بدفع الطبقات غير القابلة للتوزيع إلى سجل؟
تحتوي الطبقة غير القابلة للتوزيع في البيان على معلمة URL التي يمكن جلب المحتوى منها. بعض حالات الاستخدام الممكنة لتمكين دفعات الطبقة غير القابلة للتوزيع هي للسجلات المقيدة بالشبكة، أو السجلات ذات الفجوات الهوائية ذات الوصول المقيد، أو للسجلات التي لا يوجد بها اتصال بالإنترنت.
على سبيل المثال، إذا كانت لديك قواعد NSG تم إعدادها بحيث يتمكن الجهاز الظاهري من سحب الصور فقط من سجل حاوية Azure، فسيسحب Docker حالات الفشل للطبقات الأجنبية/غير القابلة للتوزيع. على سبيل المثال ، قد تحتوي صورة Windows Server Core على مراجع طبقة خارجية إلى سجل حاوية Azure في بيانه وقد تفشل في سحب هذا السيناريو.
لتمكين دفع الطبقات غير القابلة للتوزيع:
قم بتحرير الملف
daemon.json
الموجود في/etc/docker/
على مضيفي Linux وعلىC:\ProgramData\docker\config\daemon.json
على Windows Server. بافتراض أن الملف كان فارغاً مسبقاً، أضف المحتويات التالية:{ "allow-nondistributable-artifacts": ["myregistry.azurecr.io"] }
إشعار
القيمة عبارة عن مجموعة من عناوين التسجيل، مفصولة بفواصل.
حفظ الملف والخروج منه.
أعد تشغيل Docker.
عندما تدفع الصور إلى السجلات في القائمة، يتم دفع طبقاتها غير القابلة للتوزيع إلى السجل.
تحذير
عادةً ما يكون للمنتجات غير القابلة للتوزيع قيود على كيفية ومكان توزيعها ومشاركتها. استخدم هذه الميزة فقط لدفع المنتجات إلى السجلات الخاصة. تأكد من امتثالك لأي شروط تغطي إعادة توزيع المنتجات غير القابلة للتوزيع.
التشخيص والفحوصات الصحية
التحقق من الصحة باستخدام "az acr check-health"
لاستكشاف مشكلات البيئة والسجل الشائعة وإصلاحها، راجع التحقق من صحة سجل حاوية Azure.
فشل سحب Docker مع الخطأ: net/http: تم إلغاء الطلب أثناء انتظار الاتصال (تجاوز Client.Timeout أثناء انتظار العناوين)
- إذا كان هذا الخطأ يمثل مشكلة عابرة، فستنجح إعادة المحاولة.
- إذا فشل
docker pull
بشكل مستمر، فقد تكون هناك مشكلة في Docker daemon. يمكن التخفيف من حدة المشكلة بشكل عام عن طريق إعادة تشغيل Docker daemon. - إذا استمر ظهور هذه المشكلة بعد إعادة تشغيل Docker daemon، فقد تكون المشكلة في بعض مشكلات اتصال الشبكة بالجهاز. للتحقق مما إذا كانت الشبكة العامة على الجهاز سليمة، قم بتشغيل الأمر التالي لاختبار اتصال نقطة النهاية. الحد الأدنى للإصدار
az acr
الذي يحتوي على أمر فحص الاتصال هو 2.2.9. قم بترقية Azure CLI إذا كنت تستخدم إصداراً أقدم.
az acr check-health -n myRegistry
- يجب أن يكون لديك دائماً آلية إعادة المحاولة في جميع عمليات عميل Docker.
سحب Docker بطيء
استخدم أداة السرعة لاختبار سرعة تنزيل شبكة جهازك. إذا كانت شبكة الجهاز بطيئة، ففكر في استخدام جهاز ظاهري Azure في نفس المنطقة كسجل لتحسين سرعة الشبكة.
دفع Docker بطيء
استخدم هذه الأداة لاختبار سرعة تحميل شبكة جهازك. إذا كانت شبكة الجهاز بطيئة، ففكر في استخدام جهاز ظاهري Azure في نفس المنطقة كسجل لتحسين سرعة الشبكة.
ينجح دفع Docker ولكن فشل سحب docker مع الخطأ: غير مصرح به: المصادقة المطلوبة
قد يحدث هذا الخطأ مع إصدار Red Hat من Docker daemon، حيث يتم تمكين --signature-verification
افتراضياً. يمكنك التحقق من خيارات Docker daemon لـ Red Hat Enterprise Linux (RHEL) أو Fedora عن طريق تشغيل الأمر التالي:
grep OPTIONS /etc/sysconfig/docker
على سبيل المثال، يحتوي Fedora 28 Server على خيارات Docker daemon التالية:
OPTIONS='--selinux-enabled --log-driver=journald --live-restore'
مع فقدان --signature-verification=false
، يخفق docker pull
مع ظهور خطأ مشابه لما يلي:
Trying to pull repository myregistry.azurecr.io/myimage ...
unauthorized: authentication required
لحل الخطأ:
أضف الخيار
--signature-verification=false
إلى ملف تكوين Docker daemon/etc/sysconfig/docker
. على سبيل المثال:OPTIONS='--selinux-enabled --log-driver=journald --live-restore --signature-verification=false'
أعد تشغيل خدمة Docker daemon عن طريق تشغيل الأمر التالي:
sudo systemctl restart docker.service
يمكن العثور على تفاصيل --signature-verification
عن طريق تشغيلman dockerd
.
az acr login succeeds but docker fails with error: unauthorized: authentication required
تأكد من استخدام عنوان URL بالكامل للخادم بأحرف صغيرة، على سبيل المثال، docker push myregistry.azurecr.io/myimage:latest
، حتى إذا كان اسم مورد السجل كبيراً أو مختلطاً، مثل myRegistry
.
تمكين والحصول على سجلات تتبع الأخطاء من Docker daemon
ابدأ dockerd
بالخيار debug
. أولاً ، أنشئ ملف تكوين Docker daemon (/etc/docker/daemon.json
) إذا لم يكن موجوداً، وأضف الخيار debug
:
{
"debug": true
}
ثم أعد تشغيل البرنامج الخفي. على سبيل المثال، باستخدام Ubuntu 14.04:
sudo service docker restart
يمكن العثور على التفاصيل في وثائق Docker.
قد يتم إنشاء السجلات في مواقع مختلفة، اعتماداً على نظامك. على سبيل المثال، بالنسبة لـ Ubuntu 14.04، فهو
/var/log/upstart/docker.log
.
راجع وثائق Docker للحصول على التفاصيل.بالنسبة لـ Docker for Windows، يتم إنشاء السجلات ضمن ٪ LOCALAPPDATA٪ / docker /. ومع ذلك، قد لا يحتوي على جميع معلومات التصحيح حتى الآن.
من أجل الوصول إلى سجل البرنامج الخفي بالكامل، قد تحتاج إلى بعض الخطوات الإضافية:
docker run --privileged -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/bin/docker:/usr/local/bin/docker alpine sh docker run --net=host --ipc=host --uts=host --pid=host -it --security-opt=seccomp=unconfined --privileged --rm -v /:/host alpine /bin/sh chroot /host
الآن يمكنك الوصول إلى جميع ملفات الجهاز الظاهري قيد التشغيل
dockerd
. السجل في/var/log/docker.log
.
قد لا تكون أذونات المستخدم الجديدة فعالة على الفور بعد التحديث
عند منح أذونات جديدة (أدوار جديدة) لمدير الخدمة، فقد لا يسري التغيير على الفور. هناك سببان محتملان:
تأخير تعيين دور Microsoft Entra. عادة ما يكون سريعاً، ولكن قد يستغرق دقائق بسبب تأخير الانتشار.
قد يستغرق تأخير الإذن على خادم الرمز المميز ACR ما يصل إلى 10 دقائق. للتخفيف، يمكنك
docker logout
ثم المصادقة مرة أخرى مع نفس المستخدم بعد دقيقة واحدة:docker logout myregistry.azurecr.io docker login myregistry.azurecr.io
لا يدعم ACR حالياً حذف النسخ المتماثل المحلي من قبل المستخدمين. يتمثل الحل البديل في تضمين النسخ المتماثل الرئيسي الذي تم إنشاؤه في القالب، ولكن يتم تخطي إنشائه عن طريق إضافة "condition": false
كما هو موضح أدناه:
{
"name": "[concat(parameters('acrName'), '/', parameters('location'))]",
"condition": false,
"type": "Microsoft.ContainerRegistry/registries/replications",
"apiVersion": "2017-10-01",
"location": "[parameters('location')]",
"properties": {},
"dependsOn": [
"[concat('Microsoft.ContainerRegistry/registries/', parameters('acrName'))]"
]
},
لا يتم إعطاء معلومات المصادقة بالتنسيق الصحيح على استدعاءات REST API المباشرة
قد تواجه خطأ InvalidAuthenticationInfo
، خاصة عند استخدام أداة curl
مع الخيار -L
، --location
(لمتابعة عمليات إعادة التوجيه).
على سبيل المثال، جلب blob باستخدام الخيار curl
مع -L
والمصادقة الأساسية:
curl -L -H "Authorization: basic $credential" https://$registry.azurecr.io/v2/$repository/blobs/$digest
قد يؤدي إلى الاستجابة التالية:
<?xml version="1.0" encoding="utf-8"?>
<Error><Code>InvalidAuthenticationInfo</Code><Message>Authentication information is not given in the correct format. Check the value of Authorization header.
RequestId:00000000-0000-0000-0000-000000000000
Time:2019-01-01T00:00:00.0000000Z</Message></Error>
السبب الأساسي هو أن بعض curl
عمليات التنفيذ تتبع عمليات إعادة توجيه برؤوس من الطلب الأصلي.
لحل المشكلة، تحتاج إلى اتباع عمليات إعادة التوجيه يدوياً بدون الرؤوس. اطبع رؤوس الاستجابة باستخدام الخيار -D -
curl
ثم استخرج: رأس Location
:
REDIRECT_URL=$(curl -s -D - -H "Authorization: basic $credential" https://$registry.azurecr.io/v2/$repository/blobs/$digest | grep "^Location: " | cut -d " " -f2 | tr -d '\r')
curl $REDIRECT_URL
لماذا لا تسرد بوابة Azure جميع مستودعاتي أو علاماتي؟
إذا كنت تستخدم متصفح Microsoft Edge / IE، فيمكنك رؤية أكثر من 100 مستودع أو علامة. إذا كان السجل الخاص بك يحتوي على أكثر من 100 من المستودعات أو العلامات، فإننا نوصيك باستخدام متصفح Firefox أو Chrome لإدراجها جميعاً.
لماذا تفشل بوابة Azure في جلب المستودعات أو العلامات؟
قد لا يتمكن المستعرض من إرسال طلب جلب المستودعات أو العلامات إلى الخادم. يمكن أن تكون هناك أسباب مختلفة مثل:
- عدم وجود اتصال بالشبكة
- جدار الحماية
- استخدام البوابة الإلكترونية من شبكة عامة لتسجيل يسمح بالوصول الخاص فقط
- أدوات حظر الإعلانات
- أخطاء DNS
يرجى الاتصال بمسؤول الشبكة أو التحقق من تكوين الشبكة والاتصال. حاول تشغيل az acr check-health -n yourRegistry
باستخدام Azure CLI للتحقق مما إذا كانت بيئتك قادرة على الاتصال بـ Container Registry. بالإضافة إلى ذلك، يمكنك أيضاً تجربة وضع التصفح المتخفي أو جلسة خاصة في متصفحك لتجنب أي ذاكرة تخزين مؤقت أو ملفات تعريف ارتباط قديمة.
لماذا يفشل طلب السحب أو الدفع مع العملية غير المسموح بها؟
فيما يلي بعض السيناريوهات التي قد يتم فيها منع العمليات:
- السجلات الكلاسيكية لم تعد مدعومة. الرجاء الترقية إلى مستوى خدمة مدعومة باستخدام تحديث az acr أو بوابة Azure.
- ربما تكون الصورة أو المستودع مقفلين بحيث لا يمكن حذفه أو تحديثه. يمكنك استخدام الأمر az acr repository show لعرض السمات الحالية.
- بعض العمليات غير مسموح بها إذا كانت الصورة تحت الفحص. تعرف على المزيد حول الفحص.
- ربما وصل السجل الخاص بك إلى حد التخزين الخاص به.
تنسيق المستودع غير صالح أو غير معتمد
إذا رأيت خطأً مثل "تنسيق مستودع غير مدعوم" أو "تنسيق غير صالح" أو "البيانات المطلوبة غير موجودة" عند تحديد اسم مستودع تخزين في عمليات المستودع، فتحقق من التهجئة وحالة الاسم. قد تتضمن أسماء المستودعات الصالحة فقط أحرفاً أبجدية رقمية صغيرة، ونقاطاً، وشرطات، وشرطات سفلية، وشرطات مائلة للأمام.
كيف أقوم بجمع آثار http على Windows؟
المتطلبات الأساسية
- تمكين فك تشفير HTTPS في Fiddler
- تمكين Docker من استخدام وكيل من خلال واجهة مستخدم Docker.
- تأكد من العودة عند الانتهاء. لن يعمل Docker مع هذا التمكين ولا يعمل Fiddler.
حاويات Windows
قم بتكوين وكيل Docker على 127.0.0.1:8888
حاويات Linux
ابحث عن IP الخاص بالمحول الافتراضي Docker vm:
(Get-NetIPAddress -InterfaceAlias "*Docker*" -AddressFamily IPv4).IPAddress
قم بتكوين وكيل Docker لإخراج الأمر السابق والمنفذ 8888 (على سبيل المثال 10.0.75.1:8888)
المهام
كيف أقوم بإلغاء عمليات التشغيل المجمعة؟
تقوم الأوامر التالية بإلغاء كافة المهام قيد التشغيل في السجل المحدد.
az acr task list-runs -r $myregistry --run-status Running --query '[].runId' -o tsv \
| xargs -I% az acr task cancel-run -r $myregistry --run-id %
كيف أقوم بتضمين المجلد .git في الأمر az acr build؟
إذا قمت بتمرير مجلد مصدر محلي إلى الأمر az acr build
، فسيتم استبعاد المجلد .git
افتراضياً من الحزمة التي تم تحميلها. يمكنك إنشاء ملف .dockerignore
من خلال الإعدادات التالية. يخبر الأمر باستعادة جميع الملفات ضمن .git
في الحزمة التي تم تحميلها.
!.git/**
ينطبق هذا الإعداد أيضاً على الأمر az acr run
.
هل تدعم مهام Google GitLab لمشغلات المصدر؟
لا ندعم حالياً GitLab لمشغلات المصدر.
ما هي خدمة إدارة مستودعات git التي يدعمها Tasks؟
خدمة Git | سياق المصدر | إنشاء يدوي | الإنشاء التلقائي من خلال التزام المشغل |
---|---|---|---|
GitHub | https://github.com/user/myapp-repo.git#mybranch:myfolder |
نعم | نعم |
مستودعات Azure | https://dev.azure.com/user/myproject/_git/myapp-repo#mybranch:myfolder |
نعم | نعم |
منصة GitLab | https://gitlab.com/user/myapp-repo.git#mybranch:myfolder |
نعم | لا |
BitBucket | https://user@bitbucket.org/user/mayapp-repo.git#mybranch:myfolder |
نعم | لا |
قم بتشغيل استكشاف أخطاء رسالة الخطأ وإصلاحها
رسالة الخطأ | دليل استكشاف الأخطاء وإصلاحها |
---|---|
لم يتم تكوين وصول إلى الجهاز الظاهري، وبالتالي لم يتم العثور على اشتراكات | قد يحدث هذا إذا كنت تستخدم az login --identity في مهمة ACR الخاصة بك. هذا خطأ عابر ويحدث عندما لا يتم نشر تعيين الدور للهوية المُدارة. الانتظار بضع ثوانٍ قبل إعادة المحاولة. |
تكامل CI/CD
كيفية حل ما إذا فشل إنشاء تجمع العامل بسبب مشكلات المهلة؟
قم بإعداد قواعد جدران الحماية الصحيحة لمجموعات أمان الشبكة الحالية أو التوجيهات المعرفة من المستخدم. بعد الإعداد، انتظر بضع دقائق حتى يتم تطبيق قواعد جدار الحماية.
كيف سيمكن تمكين نهج Azure المضمن لحظر ACR تمكين بيانات اعتماد المسؤول؟
سيحظر نهج Azure المضمن التالي، عند تعيينه إلى حالة النهج المعنية، المستخدم من تمكين المستخدم المسؤول على سجله.
نهج Azure المضمن | حالة النهج | حالة المسؤول |
---|---|---|
تكوين سجلات الحاوية لتعطيل الحساب الخاص بالمسؤول المحلي. | تعديل | Disable |
يتعين أن يتم تعطيل حساب المسؤول المحلي لسجلات الحاوية. | Deny | Disable |
يتعين أن يتم تعطيل حساب المسؤول المحلي لسجلات الحاوية. | التدقيق | غير متوافق |
الخطوات التالية
- تعرف على المزيد حول Azure Container Registry.