- تنفيذ الحاويات الأصلية باستخدام wslc.exe لتقليل الحمل الزائد على النظام.
- تحسين الأداء باستخدام الواجهة الخلفية WSL 2 مقارنةً بالإصدارات السابقة.
- تكامل سلس مع Visual Studio Code و Dev Containers لتبسيط سير العمل.
- تحليل متطلبات الترخيص وإصدارات نظام التشغيل ويندوز اللازمة لكل طريقة.
إذا كنت مطورًا تعمل على نظام ويندوز، فربما واجهت المعضلة القديمة المتمثلة في الرغبة في الاستفادة من قوة لينكس دون الحاجة إلى إعادة تهيئة جهاز الكمبيوتر أو المعاناة مع الأجهزة الافتراضية التي تستهلك كل ذاكرة الوصول العشوائي. لحسن الحظ، تطور النظام البيئي بشكل كبير، وأصبح لدينا الآن خيارات تجعل نشر حاويات دوكر على نظام ويندوز الفرعي (WSL) أمرًا في غاية السهولة، مما يسمح لنا بالحصول على أفضل ما في كلا النظامين على جهاز واحد.
لقد تغيرت الأمور كثيراً مؤخراً، إذ انتقلنا من الإعدادات المعقدة إلى حلول شبه أصلية. سواء كنت تبحث عن أداة احترافية بواجهة رسومية أو تفضل سهولة استخدام واجهة سطر الأوامر المدمجة مباشرةً في النظام، فهناك طرق واضحة لإعداد بيئة التطوير الخاصة بك دون أن يعاني جهازك من نقص الذاكرة.
النموذج الجديد: الحاويات الأصلية مع wslc.exe

اتخذت مايكروسوفت خطوة جريئة بإطلاقها ميزة تجريبية عامة تتيح للمستخدمين تشغيل حاويات لينكس بشكل أصلي. ويُعدّ wslc.exe أبرز هذه الميزات، وهو عبارة عن واجهة سطر أوامر تُحاكي أوامر Docker المألوفة، ولكن دون الحاجة إلى Docker Desktop. والأمر الأكثر إثارة للاهتمام هو أنه لا يستخدم توزيعة WSL قياسية؛ بل يقوم بتشغيل أجهزة افتراضية صغيرة وخفيفة الوزن من نوع Hyper-V لكل حاوية، مما يُعزز عزل العمليات بشكل كبير ويُحسّن الأمان.
لبدء استخدام هذه الأداة، يجب أن يكون لديك نظام التشغيل Windows 11 (ويفضل الإصدار 26100 أو أعلى) و قم بتحديث WSL إلى الإصدار التجريبي باستخدام الأمر wsl --update --pre-releaseبمجرد الانتهاء من ذلك، قم بتشغيله ببساطة wsl --install-feature containers لتجهيز كل شيء. وللتأكد من عدم وجود أخطاء، يمكنك تشغيل حاوية سريعة باستخدام wslc run --rm hello-world وإذا رأيت رسالة الترحيب، فهذا يعني أن بيئتك تعمل بشكل سليم..
لنبدأ: إنشاء صورتك الخاصة
عندما ترغب في الانتقال من الأمثلة الأساسية إلى شيء عملي، فإن الحل الأمثل هو استخدام VS Code مع إضافة WSL الخاصة به. تخيل أن لديك مشروع Django؛ كل ما عليك فعله هو إنشاء ملف باسم ملف الحاوية في الجذر حيث تقوم بتحديد الصورة الأساسية (مثل بايثون 3)، ونسخ المتطلبات، وتثبيت التبعيات. ثم تستخدم الأمر wslc build -t nombre-de-tu-app . إلى إنشاء الصورة المخصصة.
لبدء تشغيله، يكون الأمر الرئيسي هو wslc run -d -p 8000:8000 nombre-de-tu-appيُتيح هذا لنظام التشغيل Windows الوصول إلى منفذ الحاوية. إذا كنت ترغب في معرفة ما يحدث في الداخل، يمكنك استخدام wslc container logs أو تنفيذ أوامر داخلية باستخدام wslc execإذا لاحظت أن القرص يمتلئ، فلا تنس استخدام تقليم حاويات wslc لحذف ما لم تعد تستخدمه.
البديل الكلاسيكي: Docker Desktop و WSL 2

على الرغم من أن الحلول الأصلية تبدو رائعة، إلا أن Docker Desktop لا يزال المعيار نظرًا لنضجه وواجهته المرئية. يكمن السر هنا في استخدام الواجهة الخلفية لـ WSL 2وهو أسرع بكثير من الإصدار 1 بفضل تضمينه نواة لينكس حقيقية ونظام ملفات ext4 أصلي. وهذا يمثل تحسناً هائلاً في سرعة إدخال وإخراج الملفاتعمليات صنع مثل npm install o git clone سافر.
إذا كنت تستخدم إصدارًا قديمًا، فإن أفضل ما يمكنك فعله هو إجراء تنظيف شامل. احذف المجلدات المتبقية في AppData وإزالة أي أثر لـ DOCKER_HOST في الأرشيف .bashrc من الضروري تجنب الخطأ الشائع التالي: الاتصال بخادم Dockerبعد التنظيف، قم بتثبيت أحدث إصدار من Docker Desktop وتأكد من تحديد الخيار في الإعدادات. التكامل مع توزيعة WSL الخاصة بك.
إعداد يدوي للمستخدمين المتقدمين
يفضل بعض المستخدمين عدم استخدام Docker Desktop بسبب مشاكل ترخيص الشركات أو استهلاك الموارد. في هذه الحالة، يمكن تثبيت محرك Docker مباشرةً على Ubuntu ضمن WSL. يتطلب ذلك إنشاء مستخدم غير الجذر لتجنب المخاطر الأمنية ومنحه الصلاحيات اللازمة. امتيازات sudo وقم بتشغيل عملية تثبيت docker.io y docker-compose عبر سطر الأوامر. إنها طريقة يدوية أكثر، لكنها تمنحك السيطرة الكاملة على الشيطان وموارد النظام.
مقارنة واختيار المسار

يعتمد اختيارك بين wslc و Docker Desktop بشكل أساسي على ملفك الشخصي. إذا كنت تعمل في شركة كبيرة وتريد تجنب تكاليف الترخيصأو إذا كنت تحتاج فقط إلى حاويات للتطوير السريع في VS Code، فإن wslc هو الخيار الأمثل. علاوة على ذلك، فإن التكامل مع حاويات تطوير VS Code الأمر بسيط: كل ما عليك فعله هو تغيير مسار Docker إلى wslc في إعدادات JSON.
من ناحية أخرى، إذا كنت تعتمد على أدوات تنسيق مثل Kubernetes أو Rancher Desktop ، فإن Docker Desktop يظل ضروريًا، لأن حل WSL الأصلي لا يغطي طبقة التنسيق هذه حتى الآن. تذكر أيضًا أن نظام Windows 11 Pro أو Enterprise شرط أساسي لاستخدام ميزات عزل Hyper-V اللازمة لـ wslc، حيث أن إصدار Home لا يدعم هذه الميزات.
يُحدث وجود بيئة حاويات مُهيأة جيدًا على نظام ويندوز نقلة نوعية في تجربة التطوير، إذ يُتيح لنا التنقل بسلاسة بين أدوات تحليل البيانات وخوادم الويب وقواعد البيانات دون التأثير على نظام التشغيل الرئيسي. وسواءً اخترنا خفة وزن الأجهزة الافتراضية المصغرة من مايكروسوفت أو متانة حزمة دوكر، فإنّ المفتاح يكمن في الاستفادة من بنية WSL 2 لتحقيق أقصى أداء والحفاظ على مرونة سير العمل اليومي.