دليل شامل لحاويات WSL: البديل الأصلي لـ Docker على نظام التشغيل Windows

  • تنفيذ طبقة حاوية لينكس أصلية باستخدام واجهة سطر الأوامر wslc.exe وواجهة برمجة تطبيقات قابلة للبرمجة للمطورين.
  • بنية Hyper-V القائمة على الأجهزة الافتراضية المصغرة والتي تضمن عزلاً فائقاً وإدارة أكثر كفاءة للموارد.
  • التخلص من الاعتماد على التراخيص التجارية الخارجية من خلال التكامل المباشر مع نظام التشغيل Windows 11.

بيئة تطوير حديثة مزودة بجهاز كمبيوتر محمول يعرض محرر أكواد للبرمجة في حاويات WSL

إذا كنت تعمل في مجال التطوير، فأنت تعلم أن إعداد بيئة لينكس على نظام ويندوز كان دائمًا أمرًا معقدًا بعض الشيء أو يعتمد على أدوات خارجية قد تكون ضخمة جدًا في بعض الأحيان. حسنًا، لقد أحدثت مايكروسوفت نقلة نوعية مع WSL Containers ، وهي ميزة تتيح لنا إدارة صور وحاويات لينكس بشكل مباشر، دون الحاجة إلى المرور بتعقيدات Docker Desktop أو تراخيص المؤسسات المعقدة.

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

لينكس
المادة ذات الصلة:
يُرسخ نظام لينكس مكانته كركيزة خفية للاتصالات السلكية واللاسلكية والحوسبة السحابية.

ما هي حاويات WSL تحديداً؟

مبرمج محترف يعمل على تطوير التطبيقات باستخدام نظام ويندوز الفرعي لنظام لينكس

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

لكن الأمر لا يقتصر على وحدة التحكم فقط. فقد أطلقوا أيضًا واجهة برمجة تطبيقات (API) لحاويات WSL متاحة عبر حزمة NuGet. يُعدّ هذا كنزًا ثمينًا لمطوري تطبيقات Windows الأصلية (باستخدام C# أو C++ أو C) الذين يرغبون في أن يدير برنامجهم حاويات Linux داخليًا، ويتعامل مع المدخلات والمخرجات (stdin/stdout)، ووحدات الشبكة، أو حتى الوصول المباشر إلى وحدة معالجة الرسومات (GPU) لمهام الذكاء الاصطناعي باستخدام PyTorch.

الاختلافات الرئيسية مع Docker Desktop

بنية تحتية للخوادم في مركز بيانات، تمثل تقنية المحاكاة الافتراضية Hyper-V على نظام التشغيل Windows 11

قد يتساءل الكثيرون عما إذا كان هذا يغني عن Docker Desktop. والإجابة المختصرة هي: في كثير من الحالات، نعم. فبينما يستخدم Docker عادةً جهازًا افتراضيًا واحدًا مشتركًا يعمل بنظام Linux لكل شيء، تُشغّل حاويات WSL أجهزة افتراضية صغيرة مستقلة تعمل بنظام Hyper-V لكل حاوية. وهذا يعني أن لكل عملية ذاكرتها ومساحة التخزين الخاصة بها، مما يمنع أي حاوية من التجسس على الأخرى، وبالتالي يُحسّن الأمان.

نقطة أخرى بالغة الأهمية هي التكلفة. يتطلب Docker Desktop دفع رسوم للشركات الكبيرة، بينما تأتي حاويات WSL مُضمنة في Windows 11 بدون أي تكلفة إضافية. مع ذلك، ثمة تفصيل هام: أنت بحاجة إلى Windows 11 Pro أو Enterprise أو Education ، لأن إصدار Home لا يدعم عزل Hyper-V الضروري لعمل كل هذا.

ما هو مشروع يوكتو؟
المادة ذات الصلة:
ما هو مشروع Yocto: دليل مضمن كامل

كيفية تشغيله خطوة بخطوة

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

إذا كنت ترغب في البدء بالتجربة، فأول ما عليك فعله هو التأكد من تثبيت الإصدار 2.9.3 من WSL أو أحدث. ولأنه لا يزال في مرحلة المعاينة، ستحتاج إلى فتح نافذة طرفية كمسؤول وتشغيل الأمر `wsl --update --pre-release` . بعد التحديث، يمكنك تفعيل الميزة بتشغيل الأمر `wsl --install-feature containers`.

للتأكد من أن كل شيء على ما يرام، اكتب ببساطة wslc versionإذا كنت ترغب في تشغيل أول حاوية لك دون تعقيدات، فجرب مع wslc run --rm hello-worldسترى الصورة تُحمّل تلقائيًا وتظهر رسالة الترحيب، مما يؤكد أن النظام يعمل. من هنا، يمكنك استخدام أوامر مثل حاوية wslc ps لرؤية ما هو حي أو صورة wslc ls لمراجعة صورك المحلية.

إنشاء صورك الخاصة وتحسين سير العمل

رفوف خوادم مضاءة ترمز إلى كفاءة وعزل الأجهزة الافتراضية الصغيرة في نظام WSL

إذا كنت ترغب في الارتقاء بهذا إلى مستوى أعلى، فإن الحل الأمثل هو استخدام Visual Studio Code مع إضافة WSL. لإنشاء صورتك الخاصة، ستحتاج إلى ملف يُسمى Containerfile (يشبه إلى حد كبير ملف Dockerfile) والرجوع إلى كتب برمجة جيدة لتنظيم تطبيقك. على سبيل المثال، إذا كنت تُنشئ تطبيق Django، فستُحدد صورة Python، وتنسخ المتطلبات، وتُعرّض المنفذ 8000.

عملية التجميع بسيطة: أنت تستخدم wslc build -t your-app-name . ثم تقوم بتشغيله باستخدام wslc run -d -p 8000:8000 --name mi-app nombre-de-tu-appأهم ما يميز هذا الأمر هو إمكانية دمجه في MSBuild أو CMake، مما يجعل إنشاء الحاويات جزءًا من عملية بناء مشروعك.

ما هو OpenEmbedded
المادة ذات الصلة:
ما هو OpenEmbedded وكيف يحول تطوير Linux المضمن

الأداء والشبكات والتخزين

لم تكتفِ مايكروسوفت بالبدء في تطوير نظام الملفات الافتراضي، بل اعتمدت نظام virtiofs كنظام الملفات الافتراضي، مما يُسرّع بشكل ملحوظ نقل البيانات بين ويندوز ولينكس، ويقضي على مشكلة بطء عمليات الربط. علاوة على ذلك، يتوفر وضع شبكة تجريبي يُسمى consomme ، وهو مفيد للغاية للعاملين في بيئات الشركات، حيث يحلّ التعارضات الشائعة مع شبكات VPN المؤسسية من خلال توجيه حركة البيانات بكفاءة أكبر.

فيما يتعلق بإدارة الموارد، يكون النظام أكثر فعالية في تحرير الذاكرة للمضيف. ولأنها آلات افتراضية خفيفة الوزن، فعند إيقاف حاوية، يتم استعادة الذاكرة بشكل أسرع مقارنةً بالنموذج المتجانس. وللحفاظ على نظافة القرص، لا تنسَ استخدام wslc container prune y wslc image prune لحذف ما لم تعد تستخدمه.

تمثل هذه التقنية نقلة نوعية هامة من خلال دمج تقنية الحاويات مباشرةً في نظام التشغيل Windows 11، مما يتيح للمطورين الاستغناء عن برامج الطرف الثالث وتحسين الأداء عبر عزل Hyper-V ونظام virtiofs. ومع توفر واجهة سطر الأوامر wslc.exe وتوافقها مع VS Code، يتم إنشاء بيئة قوية ومجانية وفعالة تُسهّل تشغيل أحمال عمل Linux، مع العلم أنه يلزم استخدام إصدار احترافي من Windows للاستفادة الكاملة من إمكانياتها.


أضف كمصدر مفضل في جوجل