إعداد نظام مجموعة Linux لتطبيق "تصميم الخدمة" على جهاز مطور Windows لديك

يغطي هذا المستند كيفية إعداد مجموعة Linux محلية لتطبيق "تصميم الخدمة" على جهاز تطوير Windows. يعد إعداد نظام مجموعة Linux محلي مفيداً لاختبار التطبيقات المستهدفة لأنظمة مجموعات Linux بسرعة ولكن يتم تطويرها على جهاز Windows.

المتطلبات الأساسية

لا تعمل مجموعات "تصميم الخدمة" المستندة إلى Linux على Windows، ولكن لتمكين النماذج الأولية عبر الأنظمة الأساسية، قمنا بتوفير حاوية Docker لمجموعة Linux لتطبيق "تصميم الخدمة" ذات صندوق واحد، والتي يمكن توزيعها عبر Docker لـ Windows.

قبل البدء، ستحتاج إلى:

  • ذاكرة وصول عشوائي (RAM) بسعة 4 جيجابايت على الأقل
  • أحدث إصدار من Docker لـ Windows
  • يجب تشغيل Docker في وضع حاويات Linux

تلميح

لتثبيت Docker على جهاز Windows لديك، اتبع الخطوات الواردة في وثائق Docker. بعد التثبيت، تحقق من التثبيت.

إنشاء حاوية محلية وإعداد "تصميم الخدمة"

لإعداد حاوية Docker محلية والحصول على مجموعة "تصميم الخدمة" قيد التشغيل عليها، قم بتشغيل الخطوات التالية:

  1. قم بتحديث تكوين برنامج Docker الخفي على المضيف الخاص بك باستخدام ما يلي وأعد تشغيل Docker الخفي:

    {
      "ipv6": true,
      "fixed-cidr-v6": "2001:db8:1::/64"
    }
    

    الطريقة الموصى بها للتحديث هي الانتقال إلى:

    • رمز Docker > الإعدادات > محرك Docker
    • إضافة الحقول الجديدة المذكورة أعلاه
    • تطبيق وإعادة التشغيل - أعد تشغيل Docker daemon حتى تسري التغييرات.
  2. ابدأ تشغيل المجموعة عبر PowerShell.
    Ubuntu 20.04 LTS:

    docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u20
    

    Ubuntu 18.04 LTS:

    docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u18
    

    تلميح

    سيؤدي هذا إلى سحب الصورة بأحدث إصدار من Service Fabric بشكل افتراضي. للحصول على مراجعات معينة، راجع صفحة Service Fabric Onebox على Docker Hub.

  3. اختياري: أنشئ صورة Service Fabric الموسعة.

    في دليل جديد، قم بإنشاء ملف باسم Dockerfile لإنشاء صورتك المخصصة:

    إشعار

    يمكنك تكييف الصورة أعلاه باستخدام Dockerfile لإضافة برامج أو تبعيات إضافية في الحاوية الخاصة بك. على سبيل المثال، ستسمح إضافة RUN apt-get install nodejs -y بدعم تطبيقات nodejs كملفات ضيف تنفيذية.

    FROM mcr.microsoft.com/service-fabric/onebox:u18
    RUN apt-get install nodejs -y
    EXPOSE 19080 19000 80 443
    WORKDIR /home/ClusterDeployer
    CMD ["./ClusterDeployer.sh"]
    

    تلميح

    سيؤدي هذا إلى سحب الصورة بأحدث إصدار من Service Fabric بشكل افتراضي. للحصول على مراجعات معينة، الرجاء زيارة صفحة Docker Hub.

    لإنشاء صورتك التي يمكن إعادة استخدامها من Dockerfile، افتح الوحدة الطرفية و cd على الوضع الذي يحمل مباشرة Dockerfile لديك، ثم قم بتشغيل:

    docker build -t mysfcluster .
    

    إشعار

    ستستغرق هذه العملية بعض الوقت ولكنها تكون مطلوبة مرة واحدة فقط.

    يمكنك الآن بدء تشغيل نسخة محلية من "تصميم الخدمة" بسرعة متى احتجت إليها عن طريق تشغيل:

    docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mysfcluster
    

    تلميح

    قم بكتابة اسم لمثيل الحاوية الخاصة بك حتى يمكن التعامل معها بطريقة أكثر قابلية للقراءة.

    إذا كان تطبيقك يستمع من منافذ معينة، فيجب تحديد المنافذ باستخدام علامات -p إضافية. على سبيل المثال، إذا كان تطبيقك يستمع عبر المنفذ 8080، أضف علامة -p التالية:

    docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18

  4. سيستغرق بدء تشغيل المجموعة وقتاً قصيراً، يمكنك عرض السجلات باستخدام الأمر التالي أو الانتقال إلى لوحة المعلومات لعرض حالة المجموعات http://localhost:19080:

    docker logs sftestcluster
    
  5. بعد توزيع المجموعة بنجاح كما لوحظ في الخطوة 4، يمكنك الانتقال إلى http://localhost:19080 من جهاز Windows للعثور على لوحة معلومات مستكشف "تصميم الخدمة". في هذه المرحلة، يمكنك الاتصال بهذه المجموعة باستخدام أدوات من جهاز مطور Windows وتوزيع التطبيقات المستهدفة لمجموعات Linux لتطبيق "تصميم الخدمة".

    إشعار

    المكون الإضافي Eclipse غير مدعوم حالياً على Windows.

  6. عند الانتهاء، قم بإيقاف الحاوية وتنظيفها باستخدام هذا الأمر:

    docker rm -f sftestcluster
    

القيود المعروفة

فيما يلي القيود المعروفة لنظام المجموعة المحلية التي تعمل في حاوية لأجهزة Mac:

  • لا تعمل خدمة DNS ولا يتم دعمها حالياً داخل الحاوية. مشكلة #132
  • يتطلب تشغيل التطبيقات المستندة إلى الحاوية تشغيل SF على مضيف Linux. تطبيقات الحاوية المتداخلة غير مدعومة حالياً.

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