تكوين حاويات قراءة OCR Docker

تكوين بيئة وقت تشغيل حاوية OCR "رؤية الكمبيوتر" باستخدام وسيطات الأوامر docker run . تحتوي هذه الحاوية على العديد من الإعدادات المطلوبة ، إلى جانب بعض الإعدادات الاختيارية. تتوفر عدة أمثلة على الأمر. الإعدادات الخاصة بالحاوية هي إعدادات الفوترة.

إعدادات التكوين

تحتوي الحاوية على إعدادات التكوين التالية:

مطلوب إعداد الغرض
نعم ApiKey يتتبع معلومات الفوترة.
لا رؤى التطبيقات تمكين إضافة تطبيق Azure Insights دعم القياس عن بعد إلى الحاوية الخاصة بك.
نعم الفوترة يحدد عنوان URI لنقطة النهاية لمورد الخدمة على Azure.
نعم Eula يشير إلى أنك قبلت ترخيص الحاوية.
لا بطلاقة يكتب السجل ، واختياريا ، البيانات المترية إلى خادم Fluentd.
لا وكيل HTTP تكوين وكيل HTTP لتقديم الطلبات الصادرة.
لا تسجيل الدخول يوفر دعم تسجيل ASP.NET Core للحاوية الخاصة بك.
لا يتصاعد يقرأ البيانات ويكتبها من الكمبيوتر المضيف إلى الحاوية ومن الحاوية مرة أخرى إلى الكمبيوتر المضيف.

هام

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

تحتوي الحاوية أيضا على إعدادات التكوين الخاصة بالحاوية التالية:

مطلوب إعداد الغرض
لا ReadEngineConfig:النتيجةانتهاء الصلاحيةالفترة حاويات v2.0 فقط. فترة انتهاء صلاحية النتيجة بالساعات. الافتراضي هو 48 ساعة. يحدد الإعداد متى يجب على النظام مسح نتائج التعرف. على سبيل المثال ، إذا resultExpirationPeriod=1، يقوم النظام بمسح نتيجة التعرف بعد 1 ساعة من العملية. إذا resultExpirationPeriod=0، يقوم النظام بمسح نتيجة التعرف بعد استرداد النتيجة.
لا ذاكرة التخزين المؤقت: Redis حاويات v2.0 فقط. تمكين تخزين Redis لتخزين النتائج. مطلوب ذاكرة تخزين مؤقت إذا تم وضع حاويات OCR متعددة للقراءة خلف موازن التحميل.
لا قائمة الانتظار:أرنب MQ حاويات v2.0 فقط. تمكين RabbitMQ لإرسال المهام. يكون الإعداد مفيدا عند وضع حاويات OCR متعددة للقراءة خلف موازن التحميل.
لا قائمة الانتظار:Azure:QueueVisibilityTimeoutInMilliseconds حاويات v3.x فقط. الوقت الذي تكون فيه الرسالة غير مرئية عندما يقوم عامل آخر بمعالجتها.
لا التخزين: :D ocumentStore::MongoDB حاويات v2.0 فقط. تمكين MongoDB لتخزين النتائج الدائم.
لا التخزين:ObjectStore:AzureBlob:ConnectionString حاويات v3.x فقط. Azure blob storage connection string.
لا التخزين: تايمتوليليفيندايز حاويات v3.x فقط. فترة انتهاء صلاحية النتيجة بالأيام. يحدد الإعداد متى يجب على النظام مسح نتائج التعرف. الافتراضي هو 2 أيام (48 ساعة) ، مما يعني أن أي نتيجة مباشرة لفترة أطول من تلك الفترة غير مضمونة ليتم استردادها بنجاح.
لا المهمة: MaxRunTimeSpanInMinutes حاويات v3.x فقط. الحد الأقصى لوقت التشغيل لطلب واحد. يكون الافتراضي 60 دقيقة.
لا EnableSyncNTPServer حاويات v3.x فقط. تمكين آلية مزامنة خادم NTP، مما يضمن المزامنة بين وقت النظام ووقت تشغيل المهمة المتوقع. لاحظ أن هذا يتطلب حركة مرور شبكة خارجية. الافتراضي هو true.
لا NTPServerAddress حاويات v3.x فقط. خادم NTP لمزامنة الوقت. الافتراضي هو time.windows.com.
لا يتصاعد ::مشترك حاويات v3.x فقط. مجلد محلي لتخزين نتيجة التعرف. الافتراضي هو /share. لتشغيل الحاوية دون استخدام تخزين Azure blob، نوصي بتركيب وحدة تخزين في هذا المجلد لضمان توفر مساحة كافية لنتائج التعرف.

إعداد تكوين ApiKey

ApiKey يحدد الإعداد مفتاح مورد Azure Cognitive Services المستخدم لتعقب معلومات الفوترة للحاوية. يجب تحديد قيمة ل ApiKey ويجب أن تكون القيمة مفتاحا صالحا لمورد الخدمات المعرفية المحدد Billing لإعداد التكوين.

يمكن العثور على هذا الإعداد في المكان التالي:

  • Azure portal: إدارة موارد الخدمات المعرفية ، ضمن المفاتيح

إعداد رؤى التطبيق

ApplicationInsights يسمح لك الإعداد بإضافة تطبيق Azure Insights دعم القياس عن بعد إلى الحاوية الخاصة بك. يوفر Insights التطبيق مراقبة متعمقة للحاوية الخاصة بك. يمكنك بسهولة مراقبة الحاوية لمعرفة مدى توفرها وأدائها واستخدامها. يمكنك أيضاً التعرف على الأخطاء وتشخيصها بسرعة في الحاوية.

يصف الجدول التالي إعدادات التكوين المدعومة ضمن القسم ApplicationInsights .

مطلوب الاسم نوع البيانات الوصف
لا InstrumentationKey سلسلة مفتاح الأجهزة الخاص بالتطبيق Insights المثال الذي يتم إرسال بيانات القياس عن بعد للحاوية إليه. لمزيد من المعلومات، راجع Insights التطبيقات ل ASP.NET Core.

مثال:
InstrumentationKey=123456789

إعداد تكوين الفوترة

Billing يحدد الإعداد عنوان URI لنقطة النهاية لمورد الخدمات المعرفية على Azure المستخدم لقياس معلومات الفوترة للحاوية. يجب تحديد قيمة لإعداد التكوين هذا، ويجب أن تكون القيمة URI لنقطة نهاية صالحة لمورد الخدمات المعرفية على Azure. تقوم الحاوية بالإبلاغ عن الاستخدام كل 10 إلى 15 دقيقة تقريبا.

يمكن العثور على هذا الإعداد في المكان التالي:

  • Azure portal: نظرة عامة على الخدمات المعرفية ، المسمى Endpoint

تذكر إضافة vision/<version> التوجيه إلى عنوان URI لنقطة النهاية كما هو موضح في الجدول التالي.

مطلوب الاسم نوع البيانات الوصف
نعم Billing سلسلة عنوان URI لنقطة نهاية الفوترة

مثال:
Billing=https://westcentralus.api.cognitive.microsoft.com/vision/v3.2

إعداد إيولا

Eula يشير الإعداد إلى أنك قبلت ترخيص الحاوية. يجب عليك تحديد قيمة لإعداد التكوين هذا، ويجب تعيين القيمة إلى accept.

مطلوب الاسم نوع البيانات الوصف
نعم Eula سلسلة قبول الترخيص

مثال:
Eula=accept

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

الإعدادات Fluentd

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

يصف الجدول التالي إعدادات التكوين المدعومة ضمن القسم Fluentd .

الاسم نوع البيانات الوصف
Host سلسلة عنوان IP أو اسم مضيف DNS لخادم Fluentd.
Port عدد صحيح منفذ خادم Fluentd.
القيمة الافتراضية هي 24224.
HeartbeatMs عدد صحيح الفاصل الزمني لضربات القلب، بالمللي ثانية. إذا لم يتم إرسال أي حركة مرور للأحداث قبل انتهاء صلاحية هذا الفاصل الزمني، إرسال نبضات قلب إلى خادم Fluentd. القيمة الافتراضية هي 60000 مللي ثانية (1 دقيقة).
SendBufferSize عدد صحيح المساحة العازلة للشبكة، بالبايت، المخصصة لعمليات الإرسال. القيمة الافتراضية هي 32768 بايت (32 كيلوبايت).
TlsConnectionEstablishmentTimeoutMs عدد صحيح مهلة تأسيس اتصال SSL/TLS مع خادم Fluentd بالمللي ثانية. القيمة الافتراضية هي 10000 مللي ثانية (10 ثوانٍ).
إذا UseTLS تم تعيينه إلى false، تجاهل هذه القيمة.
UseTLS منطقي يشير إلى ما إذا كان يجب على الحاوية استخدام SSL/TLS للاتصال بخادم Fluentd. القيمة الافتراضية كاذبة.

إعدادات بيانات اعتماد وكيل HTTP

إذا كنت بحاجة إلى تكوين وكيل HTTP لإجراء الطلبات الصادرة، فاستخدم هاتين الوسيطتين:

الاسم نوع البيانات الوصف
HTTP_PROXY سلسلة الوكيل المطلوب استخدامه، على سبيل المثال، http://proxy:8888
<proxy-url>
HTTP_PROXY_CREDS سلسلة أي بيانات اعتماد مطلوبة للمصادقة مقابل الوكيل ، على سبيل المثال ، username:password. يجب أن تكون هذه القيمة بأحرف صغيرة.
<proxy-user> سلسلة المستخدم للوكيل.
<proxy-password> سلسلة كلمة المرور المقترنة <proxy-user> بالوكيل.
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \

إعدادات التسجيل

تدير Logging الإعدادات ASP.NET دعم تسجيل Core للحاوية الخاصة بك. يمكنك استخدام نفس إعدادات التكوين والقيم للحاوية التي تستخدمها لتطبيق ASP.NET Core.

يتم دعم موفري التسجيل التاليين بواسطة الحاوية:

⁧⁩"الموفر"⁧⁩ الغرض
وحدة تحكم مزود تسجيل ASP.NET Core Console . يتم دعم كافة إعدادات تكوين ASP.NET Core والقيم الافتراضية لموفر التسجيل هذا.
تصحيح مزود تسجيل ASP.NET Core Debug . يتم دعم كافة إعدادات تكوين ASP.NET Core والقيم الافتراضية لموفر التسجيل هذا.
القرص موفر تسجيل JSON. يقوم موفر التسجيل هذا بكتابة بيانات السجل إلى حامل الإخراج.

يخزن أمر الحاوية هذا معلومات التسجيل بتنسيق JSON إلى حامل الإخراج:

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json

يعرض أمر الحاوية هذا معلومات تصحيح الأخطاء، المسبوقة ب dbug، أثناء تشغيل الحاوية:

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug

تسجيل القرص

Disk يدعم موفر التسجيل إعدادات التكوين التالية:

الاسم نوع البيانات الوصف
Format سلسلة تنسيق الإخراج لملفات السجل.
ملاحظه: يجب تعيين json هذه القيمة لتمكين موفر التسجيل. إذا تم تحديد هذه القيمة دون تحديد حامل إخراج أيضا أثناء إنشاء حاوية ، يحدث خطأ.
MaxFileSize عدد صحيح الحد الأقصى لحجم ملف سجل بالميغابايت (MB). عندما يفي حجم ملف السجل الحالي بهذه القيمة أو يتجاوزها، يتم بدء تشغيل ملف سجل جديد بواسطة موفر التسجيل. إذا تم تحديد -1 ، فإن حجم ملف السجل محدود فقط بالحد الأقصى لحجم الملف ، إن وجد ، لتحميل الإخراج. القيمة الافتراضية هي 1.

لمزيد من المعلومات حول تكوين دعم تسجيل ASP.NET Core، راجع تكوين الملف الإعدادات.

إعدادات التركيب

استخدم حوامل الربط لقراءة البيانات وكتابتها من وإلى الحاوية. يمكنك تحديد حامل إدخال أو حامل إخراج عن طريق تحديد الخيار في --mount أمر تشغيل عامل الاتهام .

لا تستخدم حاويات رؤية الكمبيوتر حوامل الإدخال أو الإخراج لتخزين بيانات التدريب أو الخدمة.

يختلف بناء الجملة الدقيق لموقع تحميل المضيف وفقا لنظام التشغيل المضيف. بالإضافة إلى ذلك، قد لا يمكن الوصول إلى موقع تحميل الكمبيوتر المضيف بسبب تعارض بين الأذونات المستخدمة من قبل حساب خدمة Docker وأذونات موقع تحميل المضيف.

‏‏اختياري الاسم نوع البيانات الوصف
غير مسموح به Input سلسلة حاويات رؤية الكمبيوتر لا تستخدم هذا.
‏‏اختياري Output سلسلة الهدف من جبل الإخراج. القيمة الافتراضية هي /output. هذا هو موقع السجلات. وهذا يشمل سجلات الحاويات.

مثال:
--mount type=bind,src=c:\output,target=/output

مثال على أوامر تشغيل عامل الرصيف

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

  • حرف استمرار الخط: تستخدم أوامر Docker في الأقسام التالية الشرطة المائلة الخلفية، \كحرف استمرار للسطر. استبدل هذا أو أزله استنادا إلى متطلبات نظام التشغيل المضيف.
  • ترتيب الوسيطات: لا تقم بتغيير ترتيب الوسيطات إلا إذا كنت على دراية كبيرة بحاويات Docker.

استبدل {argument_name} بقيمك الخاصة:

العنصر النائب القيمة تنسيق أو مثال
{API_KEY} مفتاح نقطة النهاية للمورد Computer Vision في صفحة مفاتيح Azure Computer Vision . xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ENDPOINT_URI} تتوفر قيمة نقطة نهاية الفوترة في صفحة نظرة عامة على Azure Computer Vision . راجع جمع المعلمات المطلوبة للحصول على أمثلة صريحة.

ملاحظة

الموارد الجديدة التي تم إنشاؤها بعد 1 يوليو 2019 ستستخدم أسماء النطاقات الفرعية المخصصة. لمزيد من المعلومات وقائمة كاملة بنقاط الانتهاء الإقليمية، راجع أسماء النطاقات الفرعية المخصصة للخدمات المعرفية.

هام

تُحدد الخياراتEula وBillingApiKey لتشغيل الحاوية؛ وإلا فلن يتم تشغيل الحاوية. لمزيد من المعلومات، راجع الفوترة. قيمة ApiKey هي المفتاح من صفحة مفاتيح موارد Azure Cognitive Services .

أمثلة على رصيف الحاويات

أمثلة Docker التالية مخصصة لحاوية قراءة OCR.

مثال أساسي

docker run --rm -it -p 5000:5000 --memory 18g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

مثال على التسجيل

docker run --rm -it -p 5000:5000 --memory 18g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Logging:Console:LogLevel:Default=Information

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