الملخص:
قامت Microsoft بنقل حاويات WSL من المعاينة العامة إلى الإصدار المتاح بشكل عام. يمكن للمستخدمين تشغيل "wsl --update" للحصول على الوظائف ذات الصلة، بما في ذلك أداة سطر الأوامر wslc.exe وWSL Containers API. على الرغم من أن رقم الإصدار الرسمي على GitHub هو WSL 3.0.1، إلا أن هذا لا يعني أن Microsoft قد أطلقت WSL 3؛ وقد نفت مايكروسوفت سابقًا وجود هذا الإصدار الجديد. ص> ص>

في السابق، إذا أراد مطورو Windows تشغيل حاويات Linux، كانوا يحتاجون عادةً إلى تثبيت Docker Desktop أو تكوين Docker Engine يدويًا في توزيع WSL Linux. تعمل حاويات WSL على دمج سير عمل الحاوية مباشرةً في WSL. يمكن استخدام wslc.exe لإنشاء حاويات Linux وتشغيلها وإدارتها ونشرها من Windows. كما يوفر Container.exe كاسم مستعار. يمكن للمطورين المطلعين على Docker أيضًا استخدام أوامر مماثلة. تسمح واجهة برمجة التطبيقات الداعمة لتطبيقات Windows الأصلية بإنشاء حاويات Linux والتحكم فيها من خلال التعليمات البرمجية، وتدعم مكالمات C# وC++/WinRT، والإدخال والإخراج القياسي، وتثبيت الملفات، والوصول إلى الشبكة ووحدة معالجة الرسومات. ص>

"أصلي" هنا لا يعني أن الحاوية تعمل على نواة Windows. تعمل الحاوية بالفعل على Linux kernel في الجهاز الظاهري WSL. قامت Microsoft بإعادة تصميم كيفية إدارة جلسات الحاوية. تقوم تطبيقات WSL العادية بإنشاء أجهزة افتراضية من خلال خدمة Windows wslservice.exe بأذونات أعلى؛ تستخدم WSL Containers الخدمة لإنشاء عملية فرعية تسمى wslcsession.exe، والتي تقوم بإنشاء الحاويات وتركيب الدلائل وربط منافذ الشبكة نيابة عن المستخدم. وقالت مايكروسوفت إن كل جلسة تتم استضافتها من خلال عملية مستقلة، مما قد يعزز العزلة؛ الأذونات المطلوبة لعمليات الجلسة أقل أيضًا من wslservice.exe، مما يساعد على تحسين الأمان. ص>
تحتوي كل جلسة على قرص ثابت افتراضي مستقل، يتم حفظه في دليل بيانات تطبيق المستخدم. يمكن للحاويات استخدام مجلدات Windows من خلال وحدات التخزين. تستخدم Microsoft برامج Virtiofs لمشاركة الدلائل على الأجهزة الافتراضية، قائلة إنها أسرع بمرتين تقريبًا من حل Plan 9 الذي تستخدمه توزيعات WSL التقليدية للوصول إلى محرك الأقراص C. بالنسبة للحاويات التي تتطلب أنظمة ملفات Linux أصلية أو سعة تخزين محدودة، يمكن استخدام وحدات تخزين القرص الثابت الافتراضية. ص>


يضيف الإصدار الرسمي أوامر مثل إعادة تشغيل الحاوية، ونسخ الملفات، والاتصال بالشبكة وقطع الاتصال، والمزيد من خيارات برامج تشغيل الشبكة، وفحص سلامة الحاوية، وتثبيت الدليل عند إنشاء الحاويات وتشغيلها. تقدم الشبكة أيضًا بنية تسمى Consommé. ستدخل حركة مرور الشبكة لجهاز Linux الظاهري إلى قائمة الانتظار الافتراضية في شكل إطارات Ethernet، ثم يتم تشغيل عملية Windows بينما يتعامل المستخدم مع استعلامات DNS، وحركة مرور TCP وUDP، وتعيين المنافذ. وقالت مايكروسوفت إن هذه الطريقة أكثر توافقًا مع شبكات VPN وجدران الحماية وستعمل على تحسين مشكلات الشبكة التي واجهها مستخدمو WSL منذ فترة طويلة. في الاختبارات السابقة، تمكن Windows من الوصول إلى خدمة Flask التي تعمل في الحاوية من خلال المضيف المحلي دون تكوين إضافي للشبكة. ص>

تقوم Microsoft أيضًا بإضافة إمكانات الإدارة والأمان لاستخدام المؤسسات. يمكن لمسؤولي تكنولوجيا المعلومات تمكين أو تعطيل حاويات WSL من خلال Microsoft Intune وتقييد صور الحاويات ليتم سحبها فقط من السجلات المعتمدة. يتم أيضًا توسيع تكامل WSL الحالي لـ Microsoft Defender for Endpoint ليشمل الحاويات، مما يعرض نشاط العملية والملفات والشبكة داخل الحاوية وربطها بمضيف Windows. وقالت مايكروسوفت إن هذه القدرات، جنبًا إلى جنب مع Intune وDefender، يمكن أن توفر عناصر التحكم الأمنية اللازمة لبيئات المؤسسات. ص>

فيما يتعلق بأدوات التطوير، أعلنت Microsoft أن ملحق VS Code Dev Containers يمكنه استخدام wslc كمحرك حاوية. يدعم ملحق VS Code Containers وAspire هذه الميزة أيضًا. قال مدير منتج Microsoft WSL، Craig Loewen، إن المستخدمين يحتاجون فقط إلى تحديد wslc كبرنامج قابل للتنفيذ في الإعدادات. ومع ذلك، أفاد بعض المطورين أنه حتى لو تم استبدال الامتداد بالإصدار الرسمي، ستظل Dev Containers تطالب بعدم العثور على أمر الإرساء، مما يشير إلى أن تكامل المحرر الحالي قد لا يزال بحاجة إلى التحقق والتعديل. ص>
لا يزال دعم الإنشاء، الذي يتطلع إليه المطورون بشدة، قيد التطوير. يمكن للإنشاء كتابة حاويات متعددة مثل واجهة برمجة التطبيقات الأمامية والخلفية وقاعدة البيانات وذاكرة التخزين المؤقت في نفس ملف تكوين compose.yaml، ثم بدء مجموعة الخدمات بأكملها بأمر واحد. قالت Microsoft أن Compose هي الميزة الأكثر طلبًا في wslc في الوقت الحالي، وتأمل أن يتمكن "wsl compose up" في المستقبل من تشغيل ملفات التكوين الموجودة مباشرة دون تعديل. أثناء الاختبارات السابقة، وبسبب عدم وجود Compose، لم يتمكن المطورون من بدء الخدمات إلا في المشاريع متعددة الحاويات واحدة تلو الأخرى. ص>


لا تزال هناك فجوات في بعض المشاهد المتقدمة. ذكر مهندسو Microsoft أنه يمكن للمطورين محاولة استخدام مشروع المجتمع wslc-remote الذي يحتفظون به لإنشاء الصور ودفعها داخل توزيع WSL؛ تأمل Microsoft في دعم الدعم الأصلي في المستقبل، لكنها لا تزال بحاجة إلى التعامل مع العديد من المواقف الخاصة. قال مستخدمون آخرون إن الافتقار إلى دعم المعلمات "-المتميزة" أجبرهم على العودة إلى Docker لتشغيل مجموعات Kubernetes الرقيقة وk3d. وقالت مايكروسوفت إنه سيتم إطلاق الميزات ذات الصلة قريبًا، وقد دخل الكود إلى الفرع الرئيسي، ومن المتوقع أن يدخل مرحلة المعاينة قريبًا. ولذلك، فإن التوفر الرسمي لا يعني أن wslc لديه جميع وظائف منصة الحاويات الناضجة. ص>
تدعم حاويات WSL أيضًا نظامي التشغيل Windows 10 وWindows Server. قال مدير منتج WSL في Microsoft إنه طالما أن النظام الحالي يدعم WSL، فيمكن تشغيل الحاويات؛ قام Windows Last أيضًا باختبار wslc على نظام التشغيل Windows 10 من قبل ونجح في إنشاء لوحة معلومات Flask وتشغيلها. وأكدت Microsoft أن Windows Server يدعم أيضًا استخدام هذه الميزة في بيئات الإنتاج. ص>


قارن التقرير هذا التغيير بموقف Microsoft السابق تجاه Linux. وصف الرئيس التنفيذي السابق لشركة Microsoft، ستيف بالمر، Linux ذات مرة بأنه "سرطان". واليوم، تواصل Microsoft تحسين WSL وفتح المصدر وتحسين الوصول إلى الملفات وقدرات الشبكة بين Windows وLinux. قالت مايكروسوفت إن نظام Linux لم يعد الآن مجرد بيئة تطوير، بل يمكنه أيضًا استضافة أعباء عمل الذكاء الاصطناعي والسحابة الأصلية؛ ذكرت المقالة أيضًا أن Google توفر دعم Windows 11 وWSL الأصلي لأدوات الذكاء الاصطناعي الجديدة الخاصة بها، وقالت Canonical أن معدل نمو Ubuntu على نظام التشغيل Windows 11 قد تجاوز معدل نمو أجهزة كمبيوتر Linux الأصلية. وعلى الرغم من ذلك، يعتقد المؤلف أن معظم المطورين لن يتخلوا عن Docker Desktop مباشرة قبل اكتمال Compose وبعض الميزات المتقدمة؛ إذا كان من الممكن تشغيل تكوين Compose غير المعدل مباشرةً في المستقبل، فقد يفكر عدد أكبر من الأشخاص في إلغاء تثبيت Docker Desktop. ص> ص>
التعليقات