إليك كيفية الحصول على أفضل تجربة Docker على Windows.

يعد نظام Windows الفرعي لنظام Linux 2 أداة رائعة في نظامي التشغيل Windows 10 و 11 ، ويتكامل مع Docker بسلاسة. بصفتك مطورين ، من الضروري فهم ما تقدمه هذه البرامج وكيف يمكنك تحقيق أقصى استفادة من إعداد Docker-WSL 2.

ما هو عامل الميناء؟

Docker عبارة عن نظام أساسي مفتوح المصدر يتيح للمطورين إنشاء تطبيقاتهم ونشرها وتشغيلها بكفاءة داخل حاوية. يتم تجميع جميع التبعيات بحيث يمكن نشر مشروعك بسهولة في أي بيئة.

تحظى Docker بشعبية كبيرة بين العديد من منصات نقل الحاويات لأنها موثوقة وعملية وقابلة للتطوير بدرجة كبيرة. يعمل على محرك Docker ، وهو أداة DevOps أساسية توفر بيئة نظيفة وخفيفة الوزن للاختبار والنشر. يشبه Docker جهازًا افتراضيًا ولكنه يجعل نظام التشغيل افتراضيًا بدلاً من الأجهزة الأساسية.

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

كيفية استخدام Docker على WSL 2

يتوافق Docker مع جميع أنظمة التشغيل الرئيسية ، مثل Windows و macOS و Linux. إذا كنت تستخدم نظام التشغيل Windows 10 أو 11 ، فيمكنك استخدام Docker عبر Docker Desktop و

instagram viewer
دمجه مع نظام Windows الفرعي لنظام Linux 2 لتحسين الأداء. يمكنك تنزيل Docker Desktop لنظام التشغيل Windows من ملف موقع Docker الرسمي.

يعد نظام Windows الفرعي لنظام Linux (WSL) ميزة قيمة تتيح لمستخدمي Windows تشغيل توزيعات Linux مثل Ubuntu و Kali دون إعداد جهاز افتراضي أو تمهيد مزدوج.

هذا يعني أيضا أن يمكن لمستخدمي Windows استخدام أدوات سطر أوامر Linux مباشرةًوالتطبيقات والمرافق دون خطوات تثبيت إضافية. يوفر أحدث إصدار من WSL ، WSL 2 ، قدرًا أكبر من الاستقرار ونواة Linux مخصصة.

نظرًا لأن حاويات Docker قوية ، يمكنك حتى تكوينها لاستضافة خادمك ؛ تُستخدم حاويات docker nginx كخوادم ويب. بالإضافة إلى ذلك ، يمكنك استخدام Docker بعدة طرق أخرى:

  • قم بتشغيل توزيعات Linux بسهولة
  • قم بإعداد خادم ويب لأغراض التعلم أو الاختبار
  • تطبيقات النشر المحمولة
  • قم بتجميع التطبيق في ملف صورة واحد
  • خط أنابيب مبسط CI / CD

يجب أن تكون على دراية بأفضل الممارسات لاستخدام Docker مع نظام Windows الفرعي لنظام Linux 2 ، تمامًا كما تفعل مع أي نظام أساسي أو أداة أخرى. بصفتي مطورًا ، يمكنني القول من التجربة الشخصية أنك ستصبح أكثر إنتاجية وفعالية بمجرد دمج النصائح التالية في سير عملك.

1. دمج VS Code مع WSL 2

Visual Studio Code هو IDE شائع محبوب بسبب ميزاته الرائعة ومجتمعه وامتداداته. كمطور ، القدرة على استخدام Visual Studio Code لتطوير التطبيقات على نظام Windows الأساسي يعد أيضًا تشغيل هذه التطبيقات على نواة Linux أمرًا مفيدًا بشكل لا يصدق ولا يُصدق تقريبًا ميزة.

عند دمج VS Code في نظام Windows الفرعي لنظام Linux ، يمكنك الاستفادة من Linux kernel المخصص لتحسين التوافق عبر الأنظمة الأساسية. يمكنك تبسيط سير عملك بشكل أكبر من خلال استخدام المحطة الطرفية المدمجة في VS Code مع WSL 2.

ل قم بإعداد VS Code مع WSL 2 على Windows، يمكنك تكوين WSL التمديد من VS Code Marketplace وابدأ الأمور.

2. استخدم نظام ملفات WSL 2

لتشغيل حاويات Docker الخاصة بك بشكل صحيح ، من الضروري أن تعتمد على نظام الملفات الخاص بتوزيعة WSL 2 ولا تعتمد بشكل كبير على نظام ملفات Windows الأصلي. خلال تجربتي في العمل مع حاويات Docker على WSL 2 ، اكتشفت أنه من الأفضل تخزين ملفات مشروعك داخل WSL.

3. استخدم البرامج النصية الأصلية لـ Linux

من المحتمل أن تأتي العديد من المشاريع المعبأة في حاويات والتي ستعمل عليها مع نصوص برمجية للأتمتة على نظام Linux. عادةً ما يتم تطوير هذه البرامج النصية لأول مرة لنظام التشغيل Linux ، ولا يمثل مطورو Windows أولوية.

باستخدام WSL 2 ، يمكن لفريقك بأكمله استخدام نفس البرامج النصية لأتمتة Linux ، ولا داعي للقلق بشأن الحفاظ على نصوص أتمتة متوافقة مع Windows لفريقك.

4. قم بتكوين BuildKit لتحسين الأمان والأداء

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

عندما تقوم بتمكين ملف BuildKit بشكل افتراضي ، أنت تتأكد من أن الحاويات الخاصة بك يتم إنشاؤها باستخدام مجموعة أدوات BuildKit ، مما يمنحك أمانًا وتزامنًا ومرونة وتخزينًا مؤقتًا أفضل.

لتمكين BuildKit افتراضيًا ، يجب إجراء التغييرات التالية على ملف التكوين ~ / .profile:

يصدّر DOCKER_BUILDKIT =1.

5. قم بإعداد حدود الموارد

عندما تدمج WSL 2 الخلفية مع Docker Desktop ، فإنك تمنح Docker إمكانية الوصول إلى جميع موارد وحدة المعالجة المركزية الخاصة بك. يساعد القيام بذلك على تحسين أداء الحاويات ذات الموارد الثقيلة.

ومع ذلك ، في بعض الحالات ، قد تخصص الحاوية قدرًا كبيرًا من الذاكرة الزائدة ، مما يتسبب في تعطل عمليات نظام التشغيل الهامة. من المرجح أن تواجه هذا الأمر عند استخدام حاويات قاعدة البيانات أو خدمة مصغرة للتخزين المؤقت.

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

6. استعادة الذاكرة المخبأة

إذا كنت تقوم بتشغيل حاوية Docker في WSL 2 ، فيجب تحرير ذاكرتها بمجرد انتهاء الحاوية. لسوء الحظ ، تميل نواة نظام التشغيل إلى الاحتفاظ بالبيانات في ذاكرة التخزين المؤقت ؛ هذا يعني أن الذاكرة الفعالة التي استعادتها WSL 2 لن تكون كافية.

يمكنك استعادة كل الذاكرة التي يتم استخدامها دون داعٍ كذاكرة تخزين مؤقت عن طريق تشغيل الأمر التالي عبر الجذر في WSL 2:

صدى صوت 1 > /proc/sys / vm / drop_caches

كن أكثر ذكاءً مع WSL 2

WSL 2 هو أفضل ميزة للمطورين المستندة إلى Windows ، حيث يغير تمامًا طريقة استخدام المطورين لـ Docker. يجب أن يفهم المطورون أفضل الممارسات لاستخدام Docker مع WSL لتحسين الأداء والأمان ومرونة سير العمل.