
للعمل بشكل كامل مع المشروع على وحدة الإرساء في WSL ، تحتاج إلى تثبيت WSL 2. في وقت كتابة هذا التقرير ، يمكنك استخدامه فقط كجزء من برنامج Windows Insider (يتوفر WSL 2 في الإصدارات 18932 والإصدارات الأحدث). تجدر الإشارة أيضًا بشكل منفصل إلى أن إصدار Windows 10 Pro مطلوب لتثبيت وتكوين Docker Desktop.
! المهم لم تعد هناك حاجة إلى WSL 2 Docker Desktop لنظام التشغيل Windows 10. تم توضيح كيفية الاستغناء عنه في قسم Docker Pro في Ubuntu .
الخطوات الأولى
بعد إدخال برنامج التقييم الأولي وتثبيت التحديثات ، تحتاج إلى تثبيت توزيع Linux (في هذا المثال ، يتم استخدام Ubuntu 18.04) و Docker Desktop مع WSL 2 Tech Preview:
- Docker Desktop WSL 2 Tech Preview
- أوبونتو 18.04 من متجر ويندوز
في كلتا الفقرتين ، نتبع جميع تعليمات التثبيت والتكوين.
تثبيت توزيع Ubuntu 18.04
قبل بدء تشغيل Ubuntu 18.04 ، يجب تمكين Windows WSL و Windows Virtual Machine Platform من خلال تشغيل أمرين في PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
(يتطلب إعادة تشغيل الكمبيوتر)Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
بعد أن تحتاج إلى التأكد من أننا سوف نستخدم WSL v2. للقيام بذلك ، في WSL أو PowerShell الطرفية ، قم بتنفيذ الأوامر التالية بالتتابع:
wsl -l -v
- wsl -l -v
الإصدار المثبت حاليًا. إذا كان 1 ، فانتقل إلى أسفل القائمةwsl --set-version ubuntu 18.04 2
- للترقية إلى الإصدار 2wsl -s ubuntu 18.04
- تثبيت Ubuntu 18.04 كتوزيع افتراضي
يمكنك الآن بدء تشغيل Ubuntu 18.04 ، تكوين (تحديد اسم مستخدم وكلمة مرور).
تثبيت سطح المكتب عامل الميناء
! المهم لم تعد هناك حاجة إلى WSL 2 Docker Desktop لنظام التشغيل Windows 10. تم توضيح كيفية الاستغناء عنه في قسم Docker Pro في Ubuntu .
أثناء التثبيت ، اتبع التعليمات. سيحتاج الكمبيوتر إلى إعادة التشغيل بعد التثبيت وعند بدء تشغيل Hyper-V في البداية (نظرًا لأي دعم ، يلزم إصدار من Windows 10 Pro).
! المهم إذا أبلغ Docker Desktop عن الحظر بواسطة جدار الحماية ، فانتقل إلى إعدادات مكافحة الفيروسات وقم بإجراء التغييرات التالية على قواعد جدار الحماية (في هذا المثال ، يتم استخدام Kaspersky Total Security كبرنامج مكافحة فيروسات):
- انتقل إلى الإعدادات -> الحماية -> جدار الحماية -> تكوين قواعد الحزمة -> الخدمة المحلية (TCP) -> تغيير
- أزل المنفذ 445 من قائمة المنافذ المحلية
- احتفظ
بعد بدء Docker Desktop ، في قائمة السياق الخاصة به ، حدد عنصر WSL 2 Tech Preview.

في النافذة التي تفتح ، انقر فوق الزر "ابدأ".

يتوفر الآن عامل التحميل ورسو السفن داخل توزيع WSL.
! المهم يحتوي Docker Desktop المحدث الآن على علامة تبويب مع WSL داخل نافذة الإعدادات. ويشمل دعم WSL.

! المهم بالإضافة إلى مربع الاختيار تنشيط WSL ، تحتاج أيضًا إلى تنشيط توزيع WSL الخاص بك في علامة التبويب Resources-> WSL Integration.

إطلاق
كانت الأمور غير المتوقعة هي المشكلات العديدة التي حدثت عند محاولة رفع حاويات المشاريع الموجودة في دليل مستخدم Windows.
الأخطاء المختلفة المتعلقة بتشغيل البرامج النصية للباش (والتي عادةً ما تبدأ عند إنشاء حاويات لتثبيت المكتبات والتوزيعات اللازمة) وأشياء أخرى شائعة لتطوير Linux جعلتنا نفكر في وضع المشروعات مباشرة في دليل مستخدم Ubuntu 18.04.
.
من الحل إلى المشكلة السابقة ، فيما يلي: كيفية التعامل مع ملفات المشاريع من خلال IDE المثبتة على Windows. "كأفضل ممارسة" ، وجدت خيارًا واحدًا فقط بنفسي - العمل من خلال VSCode (على الرغم من أنني من محبي PhpStorm).
بعد تنزيل VSCode وتثبيته ، نقوم بتثبيته في حزمة ملحق Remote Development .
بعد تثبيت الملحق أعلاه ، فقط قم بتشغيل الأمر code .
في دليل المشروع مع VSCode قيد التشغيل.
في هذا المثال ، مطلوب nginx للوصول إلى الحاويات عبر المستعرض. تثبيته من خلال sudo apt-get install nginx
لم يكن sudo apt-get install nginx
بهذه البساطة. للبدء ، كان من الضروري تحديث توزيع WSL عن طريق sudo apt update && sudo apt dist-upgrade
، وبعد ذلك فقط بدء تثبيت nginx.
! المهم لا يتم تسجيل جميع المجالات المحلية في ملف / etc / hosts الخاص بتوزيع Linux (ليس موجودًا أيضًا) ، ولكن في ملف hosts (عادةً ما يكون C: \ Windows \ System32 \ drivers \ etc \ hosts) في Windows 10.
حول عامل الميناء في أوبونتو
بناءً على مطالبة المستخدمين المطلعين في التعليقات على الملاحظة ، فإن الرصيف الموجود داخل توزيع WSL 2 فعال تمامًا. يتيح لك هذا عدم تثبيت Docker Desktop على نظام التشغيل Windows 10 وحل مشكلة امتلاك إصدار من Windows 10 Pro (تنشأ الحاجة إلى Pro بالتحديد فيما يتعلق باستخدام Docker Desktop). يتم تثبيته وفقًا للتعليمات الواردة من الموقع الرئيسي:
إذا بدأ عامل الالتحام اليمين عند الخفي عند تنفيذ الأمر ، فتحقق من حالة الخدمة - في حالتي ، مثل nginx ، لا يبدأ التشغيل تلقائيًا. قم sudo service docker start
.
إذا حدث خطأ أثناء "التجميع" في إنشاء الخدمة: cgroups: لا يمكن العثور على cgroup mount: غير معروف "يسقط ، جرب الحل التالي (ليس لي ، لقد وجدت الرابط في المصادر): sudo mkdir /sys/fs/cgroup/systemd
؛ sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
.
العمل مع المشروع من خلال PhpStorm
لتوفير القدرة على العمل مع مشروع في WSL من خلال PhpStorm ، يجب عليك القيام بما يلي:
- قم بتشغيل موجه أوامر Windows 10 كمسؤول ؛
- في موجه الأوامر الخاص بنظام التشغيل Windows 10 ، قم بتشغيل الأمر
mklink /DC:\project_directory \\wsl$\Ubuntu\home\user\project_directory
، مما يؤدي إلى إنشاء ارتباط رمزي إلى مجلد المشروع.
بعد ذلك ، في IDE ، يمكنك فتح المشروع على طول المسار C: \ project_directory
PS ديمتري Simagin ، شكرا لهذا القرار.
مصادر
يمكن العثور على وصف أكثر تفصيلاً لكل خطوة هنا: