إنشاء حاويات لإعادة استخدامها

استخدم وصفات الحاوية هذه لإنشاء حاويات خدمات Azure الذكاء الاصطناعي التي يمكن إعادة استخدامها. من الممكن إنشاء هذه الحاويات باستخدام بعض إعدادات التكوين أو جميعها حتى لا تحتاج إليها عند بدء تشغيل الحاوية.

بمجرد أن يكون لديك هذه الطبقة الجديدة من الحاوية (باستخدام الإعدادات)، وقمت باختبارها محليًا، يمكنك تخزين هذه الحاوية في سجل الحاويات. عند بدء تشغيل الحاوية، لن تحتاج إلا سوى استخدام هذه الإعدادات غير المخزنة حاليًا في الحاوية. توفر حاوية التسجيل الخاصة بك مساحة تكوين لتمرير هذه الإعدادات فيها.

صيغة تشغيل Docker

تفترض أية أمثلة docker run في هذا المستند وجود وحدة تحكم Windows باستخدام حرف متابعة السطر^. ضع في اعتبارك ما يلي لاستخداماتك الخاصة:

  • تجنب تغيير ترتيب الوسائط إلا إذا كنت معتادًا على حاويات docker.
  • في حال استخدامك لنظام تشغيل آخر غير Windows، أو وحدة تحكم أخرى غير وحدة تحكم Windows، فاستخدم وحدة التحكم/terminal الصحيحة، وصيغة مجلد للمدخلات، وحرف متابعة السطر لوحدة التحكم والنظام الخاصين بك. نظرا لأن حاوية خدمات Azure الذكاء الاصطناعي هي نظام تشغيل Linux، يستخدم التحميل الهدف بناء جملة مجلد على غرار Linux.
  • docker run تستخدم الأمثلة الدليل خارج محرك أقراص c: لتجنب أية تعارضات في الأذونات مع Windows. إن كنت بحاجة إلى استخدام دليل معين مثل دليل إدخال، فقد تحتاج إلى منح إذن خدمة docker.

عدم تخزين أية إعدادات تكوين في الصورة

لا تخزن أوامر المثال docker run لكل خدمة أية إعدادات تكوين في الحاوية. عند بدء تشغيل الحاوية من وحدة التحكم أو خدمة التسجيل، يجب تمرير إعدادات التكوين هذه. توفر حاوية التسجيل الخاصة بك مساحة تكوين لتمرير هذه الإعدادات فيها.

إعادة استخدام الوصفة: تخزين كافة إعدادات التكوين باستخدام الحاوية

لتخزين كافة إعدادات التكوين، أنشئ Dockerfile باستخدام هذه الإعدادات.

بعض المشكلات المتعلقة بهذا النهج:

  • تحتوي الحاوية الجديدة على اسم وعلامة منفصلة عن الحاوية الأصلية.
  • لتغيير هذه الإعدادات، سيتعين عليك تغيير قيم Dockerfile وإعادة بناء الصورة وإعادة نشرها إلى السجل الخاص بك.
  • إذا تمكن شخص ما من الوصول إلى سجل الحاوية أو المضيف المحلي، يمكنه تشغيل الحاوية واستخدام نقاط نهاية خدمات Azure الذكاء الاصطناعي.
  • إذا كانت خدمة Azure الذكاء الاصطناعي التي تستخدمها لا تتطلب إدخالات، فلا تقم بإضافة COPY الأسطر إلى Dockerfile الخاص بك.

قم بإنشاء Dockerfile، والسحب من حاوية خدمات Azure الذكاء الاصطناعي الموجودة التي تريد استخدامها، ثم استخدم أوامر docker في Dockerfile لتعيين المعلومات التي تحتاجها الحاوية أو سحبها.

في هذا المثال:

  • تعيين نقطة نهاية الفواتير، من مفتاح بيئة المضيف {BILLING_ENDPOINT} باستخدام ENV.
  • تعيين مفتاح واجهة برمجة تطبيقات الفواتير، من مفتاح بيئة المضيف {ENDPOINT_KEY} باستخدام `ENV.

إعادة استخدام الوصفة: تخزين إعدادات الفواتير باستخدام الحاوية

يوضح هذا المثال كيفية إنشاء حاوية التوجه لخدمة اللغة من Dockerfile.

FROM mcr.microsoft.com/azure-cognitive-services/sentiment:latest
ENV billing={BILLING_ENDPOINT}
ENV apikey={ENDPOINT_KEY}
ENV EULA=accept

أنشئ الحاوية وشغلها محليًا أو من حاوية التسجيل الخاصة بك حسب الحاجة.

إعادة استخدام الوصفة: تخزين إعدادات الفواتير والمدخلات باستخدام الحاوية

يوضح هذا المثال كيفية استخدام Language Understanding وحفظ الفواتير والنماذج من Dockerfile.

  • نسخ ملف نموذج (LUIS) Language Understanding من نظام ملفات المضيف باستخدام COPY.
  • من الممكن أن تدعم حاوية LUIS أكثر من نموذج واحد. إن خزنت جميع النماذج في المجلد نفسه، فستحتاج جميعها إلى عبارة COPY واحدة.
  • شغل ملف docker من الأصل ذي الصلة لدليل إدخال النموذج. على سبيل المثال التالي، شغل الأوامر docker buildوdocker run من الأصل ذي الصلة لـ /input. أول /input في الأمر COPY هو دليل الكمبيوتر المضيف. ثاني /input هو دليل الحاوية.
FROM <container-registry>/<cognitive-service-container-name>:<tag>
ENV billing={BILLING_ENDPOINT}
ENV apikey={ENDPOINT_KEY}
ENV EULA=accept
COPY /input /input

أنشئ الحاوية وشغلها محليًا أو من حاوية التسجيل الخاصة بك حسب الحاجة.

كيفية استخدام الحاوية على المضيف المحلي الخاص بك

لإنشاء ملف Docker، استبدل <your-image-name> باسم الصورة الجديد، ثم استخدم:

docker build -t <your-image-name> .

لتشغيل الصورة، وإزالتها عند توقف الحاوية (--rm) يلزمك:

docker run --rm <your-image-name>

كيفية إضافة حاوية إلى السجل الخاص بك

اتبع هذه الخطوات لاستخدام Dockerfile وضع الصورة الجديدة في سجل الحاوية الخاص بك.

  1. أنشئ Dockerfile باستخدام النص من إعادة استخدام الوصفة. لا يحتوي Dockerfile على ملحق.

  2. استبدل أي قيم موجودة في أقواس الزاوية بالقيم الخاصة بك.

  3. أنشئ ملف صورة في سطر الأوامر أو terminal، باستخدام الأمر التالي. استبدل القيم الموجودة في أقواس الزاوية <>، باسم الحاوية والعلامة الخاصة بك.

    خيار العلامة -t، هو طريقة لإضافة معلومات عن التغييرات الخاصة بالحاوية. على سبيل المثال، يشير اسم حاوية modified-LUIS إلى وضع الحاوية الأصلية في طبقات. يشير اسم علامة with-billing-and-model إلى تعديل حاوية Language Understanding (LUIS).

    docker build -t <your-new-container-name>:<your-new-tag-name> .
    
  4. سجل الدخول في واجهة سطر أوامر Azure من وحدة التحكم. يفتح هذا الأمر متصفحًا ويتطلب المصادقة. بمجرد المصادقة، يمكنك إغلاق المتصفح ومتابعة العمل في وحدة التحكم هذه.

    az login
    
  5. سجل الدخول في السجل الخاص بك باستخدام واجهة سطر أوامر Azure من وحدة التحكم.

    استبدل القيم الموجودة في أقواس الزاوية، <my-registry>، باسم السجل الخاص بك.

    az acr login --name <my-registry>
    

    يمكنك أيضًا تسجيل الدخول باستخدام تسجيل دخول docker إن تم تعيين كيان خدمة لك.

    docker login <my-registry>.azurecr.io
    
  6. ضع علامة على الحاوية باستخدام موقع السجل الخاص. استبدل القيم الموجودة في أقواس الزاوية <my-registry>، باسم السجل الخاص بك.

    docker tag <your-new-container-name>:<your-new-tag-name> <my-registry>.azurecr.io/<your-new-container-name-in-registry>:<your-new-tag-name>
    

    إن لم تستخدم أية أسماء علامة، فيتم تضمين latest.

  7. دفع الصورة الجديدة إلى سجل الحاوية الخاصة بك. عند عرض سجل الحاوية الخاص بك، سيكون اسم الحاوية المستخدم في أمر واجهة سطر الأوامر التالي هو اسم المستودع.

    docker push <my-registry>.azurecr.io/<your-new-container-name-in-registry>:<your-new-tag-name>
    

الخطوات التالية

إنشاء مثيل حاوية Azure واستخدامه