زیرسیستم ویندوز برای لینوکس 2: راهنمای کامل برای ویندوز 10 و 11
این آموزش نحوه نصب، مدیریت و استفاده از یک محیط لینوکس کامل را در رایانه شخصی ویندوز 10 یا ویندوز 11 خود با WSL2 نشان می دهد. شما یک هسته لینوکس را اجرا میکنید و برنامههای بومی را اجرا میکنید و در عین حال فایلها و سرویسها را با ویرایشگرها و مرورگرهای کد ویندوز به اشتراک میگذارید. تنها راه فروش طراحی
چرا از لینوکس استفاده کنیم؟
مستقیماً میزبان وب شما از لینوکس استفاده می کند. این سریع، منبع باز است و اکثر نرم افزارهای وب از جمله:
را اجرا می کند
- سرورها (Apache، NGINX، LiteSpeed، و غیره)
- زمان اجرای زبان (PHP، Python، Node.js، Ruby و غیره)
- کتابخانههای ابزار (دستکاری تصویر، ایجاد ZIP، ایمیلها و غیره)
- پایگاه های داده (MySQL، MongoDB، Redis، و غیره)
- سایر وابستگی ها (Elasticsearch، RabbitMQ، پراکسی ها و غیره)
برخی از این وابستگیها ممکن است در Windows و macOS موجود باشند، اما نصب و نگهداری نسخههای یکسان دشوار است. آنها اغلب کندتر هستند و ممکن است با تفاوت های ظریفی روبرو شوید که تا زمانی که به کار نروید آشکار نمی شوند.
بعضی از توسعه دهندگان از لینوکس به عنوان سیستم عامل دسکتاپ اصلی خود استفاده می کنند، اما اگر به نرم افزارهای غیر لینوکس مانند محصولات مایکروسافت یا ادوبی نیاز دارید، ممکن است عملی نباشد. گزینه های جایگزین:
- از دو رایانه شخصی یا بوت دوگانه در یک دستگاه استفاده کنید. جابجایی بین سیستم ها می تواند دست و پا گیر باشد.
- یک ماشین مجازی لینوکس (VM) را با استفاده از Hyper-V، VirtualBox، Parallels، WMware یا Vagrant اجرا کنید. این نیاز به منابع سیستم عامل قابل توجه و دانش منطقی IT دارد. اشتراک گذاری فایل ها بین سیستم ها ممکن است سخت باشد.
- برنامه های وب را در کانتینرهای Docker اجرا کنید. این موضوع دیگری برای یادگیری است و خود داکر به صورت بومی روی لینوکس اجرا می شود. هر دو نسخه Windows و macOS از لینوکس زیر سطح استفاده می کنند و نسخه Windows Docker Desktop به WSL2 نیاز دارد.
زیر سیستم ویندوز برای لینوکس چیست؟
زیر سیستم ویندوز برای لینوکس (WSL) به توسعه دهندگان این امکان را می دهد که یک محیط لینوکس را مستقیماً روی ویندوز اجرا کنند. این یک سیستمعامل لینوکس کامل است که در ویندوز اجرا میشود، بنابراین میتوانید از همان برنامهها و فایلها یکپارچه استفاده کنید.
WSL1 پیشگامانه بود و تماس های سیستم لینوکس را به معادل های ویندوز ترجمه کرد. ممکن است کند باشد و برخی از ویژگیها در دسترس نباشند. WSL2 از فناوری ماشین مجازی Hyper-V استفاده می کند، بنابراین سازگاری با لینوکس عالی است و دسترسی به فایل تا 20 برابر سریعتر از قبل است.
تفاوتهای ویندوز 10 و ویندوز 11
مایکروسافت WSL2 را در سال 2020 معرفی کرد، بنابراین در اکتبر 2021 به طور کامل در نسخه ویندوز 11 ادغام شد.
ویندوز 10 به کمی تلاش بیشتر برای پیکربندی نیاز دارد. اگر قصد ارتقا به ویندوز 11 را دارید، قبل از نصب WSL2 این کار را انجام دهید. ویندوز 11 از برخی جهات پیشرفتی ندارد (هنوز دلم برای حذف گروه بندی و کشیدن فایل ها توسط نماد نوار وظیفه تنگ شده است!) اما WSL2 پایدارتر به نظر می رسد و به ندرت با مشکلاتی مواجه می شوم.
نیازهای کامپیوتر
WSL2 از Hyper-V استفاده می کند. این نیاز به پشتیبانی مجازی سازی سخت افزاری دارد که باید آن را در BIOS خود فعال کنید.
هشدار: تغییر با تنظیمات BIOS می تواند رایانه شما را به زباله اندازد! هنگام ایجاد تغییرات مراقب باشید. با صفحات راهنمای سازنده مادربرد خود مشورت کنید یا مشاوره آنلاین در مورد برند و مدل خاص خود را جستجو کنید.
مجازیسازی سختافزار در اکثر دستگاههای مدرن موجود است، اما میتوانید با راهاندازی مجدد و باز کردن پانلهای BIOS آن را بررسی کنید – معمولاً با فشار دادن DEL، F2 یا F10 هنگام شروع سیستم. به دنبال فناوری مجازی سازی، VTx، ماشین مجازی امن (SVM) یا گزینه های مشابه باشید. مطمئن شوید که آنها فعال هستند، ذخیره کنید و دستگاه را راه اندازی مجدد کنید.
در نهایت، مطمئن شوید که درایو C:
شما دارای 1 گیگابایت فضای دیسک اضافی است – در حالت ایدهآل بیشتر. ممکن است بتوانید مقداری فضا را در تنظیمات، سیستم، ذخیرهسازی یا با استفاده از پاکسازی دیسک آزاد کنید. ابزار در ابزارهای اداری ویندوز.
در زمان نگارش، WSL2 لینوکس را روی درایو C:
شما نصب میکند، اگرچه میتوان پس از نصب آن را به جای دیگری منتقل کرد.
شرایط مورد نیاز ویندوز
WSL2 با نسخههای Home، Pro یا Server ویندوز موجود است، اما نه حالت Windows 10/11 S. S فقط به برنامههای فروشگاه مایکروسافت اجازه میدهد تا امنیت را «بهبود» کنند. با استفاده از گزینه Switch to Windows Home در تنظیمات > بهروزرسانی و امنیت > فعالسازی، میتوانید از حالت S به Windows Home/Pro تبدیل شوید. .
ویندوز 10 به بهروزرسانی می 2020 نیاز دارد – این نسخه 2004 یا بالاتر است. دکمه تنظیمات را از منوی استارت انتخاب کنید، سپس سیستم و سپس درباره را انتخاب کنید. مشخصات Windows در پایین پانل نشان داده شده است.
از دکمه بررسی بهروزرسانیها در تنظیمات، و سپس بهروزرسانی و امنیت در صورت نصب نشدن استفاده کنید. برخی از رایانه های شخصی قدیمی ممکن است هرگز سازگار نباشند و بعید است که مایکروسافت یک وصله ارائه دهد.
غیرفعال کردن راه اندازی سریع (اختیاری)
راه اندازی سریع جلسه ویندوز و درایورهای دستگاه را در یک فایل ذخیره می کند تا بوت بعدی سریعتر باشد. این می تواند برای هسته لینوکس مشکلاتی ایجاد کند که در بوت بعدی پاسخگو نمی شود. اگر با مشکل مواجه شدید، راهاندازی سریع را از کنترل پنل > گزینههای پاور > انتخاب کنید دکمههای روشن/خاموش چه کاری انجام میدهند را غیرفعال کنید:
از طرف دیگر، یک فایل wsl.bat
در پوشه Startup خود ایجاد کنید (C:UsersAppDataRoamingMicrosoftWindowsStart MenuPrograms راه اندازی
) با محتوای:
wsl -- shutdown
این WSL را پس از بوت شدن ویندوز خاموش میکند، اما به محض اینکه به یک توزیع لینوکس دسترسی پیدا کنید، مجدداً راه اندازی می شود. .
نصب ترمینال ویندوز (اختیاری اما توصیه شده)
Windows Terminal یک برنامه ترمینال عالی است که از Microsoft Store یا مخزن آن در github.com/microsoft/terminal/.
Windows Terminal به صورت خودکار توزیعهای لینوکس WSL2 را هنگام نصب اضافه میکند و طیف قابل تنظیمی از گزینهها از جمله برگهها، نماهای تقسیمشده، تمها، شفافیت و اتصالهای کلید را ارائه میدهد.
پیکربندی از آیتم منو تنظیمات (Ctrl + ،)، پالت فرمان ( + Shift + P)، یا settings.json
قابل دسترسی در پایین تنظیمات پانل.
فعال کردن WSL2 (Windows 10)
دستورالعملهای زیر برای Windows 10 اعمال میشوند. این دستورالعملها نباید در ویندوز 11 ضروری باشند، اگرچه باید دوباره بررسی کنید که آیا ویندوز 10 به 11 را ارتقا دادهاید.
ویژگیهای پلتفرم ماشین مجازی و زیر سیستم ویندوز برای لینوکس باید در روشن یا خاموش کردن ویژگیهای Windows فعال باشند. با زدن Start و تایپ کردن “features” یا از نماد برنامهها و ویژگیها در Control Panel کلاسیک به پانل دسترسی پیدا میکنید.
بهطور متناوب، میتوانید دستورات زیر را در ترمینال Windows Powershell که بهعنوان مدیر اجرا میشود، اجرا کنید:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
ویندوز را راهاندازی مجدد کنید، سپس WSL2 را بهعنوان پیشفرض با وارد کردن دستور زیر در یک Windows PowerShell یا خط فرمان فعال کنید:
wsl --set-default-version 2
لینوکس را بارگیری کنید
PowerShell را در منوی استارت جستجو یا پیدا کنید، سپس روی نماد کلیک راست کرده و اجرا به عنوان سرپرست را انتخاب کنید. فهرستی از توزیعهای لینوکس موجود را با وارد کردن:
نمایش دهید
wsl --list --online
برای نصب توزیع پیشفرض Ubuntu 20.04، وارد کنید:
wsl --install
برای نصب یک توزیع خاص با نام، مانند Debian
، وارد کنید:
wsl --install -d Debian
از طرف دیگر، میتوانید توزیعهای لینوکس را از فروشگاه مایکروسافت که در منوی استارت به آن دسترسی دارید، نصب کنید. “Linux” را در کادر جستجو وارد کنید (مراقب باشید نرم افزاری غیر از توزیع های WSL وجود دارد).
اوبونتو انتخاب خوبی است مگر اینکه الزامات لینوکس خاصی داشته باشید. اگر روی نماد اوبونتو به دنبال دکمه دریافت کلیک کنید، آخرین نسخه نصب میشود.
بارگیری و نصب بسته به سرعت شبکه و رایانه شخصی شما ممکن است کمی طول بکشد. ممکن است از شما خواسته شود دوباره راه اندازی مجدد کنید.
لینوکس را راه اندازی کنید
یک گزینه/نماد جدید لینوکس (اوبونتو) اکنون در اینجا در دسترس خواهد بود:
- منوی استارت
- ترمینال ویندوز (در صورت نصب)
- Powershell —
wsl
یاbash
را در اعلان وارد کنید
نرم افزار ترمینال شخص ثالث مانند Cmder، ConEmu یا Hyper را می توان با ایجاد نمایه هایی استفاده کرد که %windir%system32bash.exe ~
را راه اندازی می کنند.
فرایند نصب در اولین باری که سیستم عامل لینوکس WSL2 را اجرا میکنید تکمیل میشود.
توجه: ممکن است پیامی در ترمینال درباره بهروزرسانی هسته ببینید. لینک را در مرورگر خود کپی کنید سپس آپدیت را دانلود و نصب کنید. برای ادامه نصب، باید توزیع Linux را دوباره راه اندازی کنید.
از شما خواسته می شود نام کاربری و رمز عبور را وارد کنید. اینها اعتبارنامه های مدیریت لینوکس هستند: آنها کاملاً از نام کاربری و رمز عبور ویندوز شما جدا هستند (اگرچه انتخاب همان ها ممکن است عملی باشد).
لینوکس در نهایت آماده خواهد شد و ترمینال شما محتوایی شبیه به:
نشان خواهد داد
به اوبونتو خوش آمدید 20.04.4 LTS (GNU/Linux 5.10.102.1-microsoft-standard-WSL2 x86_64)
* مستندات: https://help.ubuntu.com
* مدیریت: https://landscape.canonical.com
* پشتیبانی: https://ubuntu.com/advantage
اطلاعات سیستم از سه آگوست 16 10:19:36 BST 2022
بار سیستم: 0.0 فرآیندها: 8
استفاده از /: 1.6٪ از 250.98 گیگابایت کاربران وارد شده به سیستم: 0
استفاده از حافظه: 1% آدرس IPv4 برای eth0: 172.21 .6.83
استفاده تعویض: %
بهروزرسانیها را میتوان بلافاصله اعمال کرد.
فهرست بهروزرسانیهای موجود بیشتر از یک هفته است.
برای بررسی برای بهروزرسانیهای جدید اجرا کنید: sudo apt بهروزرسانی
لینوکس را بهروزرسانی کنید
احتمالاً چندین به روز رسانی لینوکس وجود دارد. برای به روز رسانی برنامه های اوبونتو، دستورات زیر را در ترمینال لینوکس وارد کنید:
سودو apt بهروزرسانی
ارتقاء sudo apt
دیگر توزیعهای لینوکس نیز روند مشابهی خواهند داشت – بنابراین برای کمک، اسناد را بررسی کنید.
همچنین میتوانید بهروزرسانیهای هسته لینوکس را از Powershell با استفاده از:
بررسی کنید
wsl --بهروزرسانی
تغییر بین WSL1 و WSL2
توزیعهای WSL1 موجود را میتوان به WSL2 تبدیل کرد. دستور زیر را در ترمینال Windows Powershell وارد کنید تا توزیع های لینوکس نصب شده و نسخه WSL آنها نمایش داده شود:
PS C:> wsl --list --کلمه
NAME STATE VERSION
* اوبونتو در حال اجرا 1
(ستاره *
نصب پیش فرض لینوکس را برجسته می کند.)
برای تغییر Ubuntu
به WSL2، وارد کنید:
wsl --set-version اوبونتو 2
به طور مشابه، برای بازگشت به WSL1، وارد کنید:
wsl --set-version اوبونتو 1
تنظیم یک توزیع پیشفرض لینوکس
در صورت نصب بیش از یک توزیع لینوکس، باید یک توزیع لینوکس به عنوان پیش فرض تنظیم شود. زمانی که wsl
در ترمینال Windows Powershell وارد شود، از این مورد استفاده خواهد شد.
برای تنظیم توزیع پیشفرض، نصبهای لینوکس خود را فهرست کنید:
wsl --list
و یک پیش فرض را با:
تنظیم کنید
wsl --setdefault DistributionName>
مثال اوبونتو: wsl --setdefault اوبونتو
.
لینوکس را به عنوان یک کاربر خاص اجرا کنید
برای اجرای توزیع پیش فرض خود به عنوان یک کاربر خاص، دستور زیر را در ترمینال Windows Powershell وارد کنید:
wsl --user username>
یک کاربر پیشفرض در حین نصب تعریف میشود، اما میتوانید دیگران را ایجاد کنید. یک کاربر root
نیز ایجاد شده است، اما باید در شرایط عادی از استفاده از آن خودداری کنید. وارد کردن یک فرمان خطرناک بسیار آسان است!
تصویر دیسک لینوکس خود را انتقال یا کلون کنید
تصاویر دیسک لینوکس در درایو C:
شما نصب شده است. به صورت اختیاری، می توانید یکی از موارد زیر را انجام دهید:
- آن را به درایو دیگری منتقل کنید تا فضا در
C:
آزاد شود، یا - از یک تصویر برای ایجاد چندین نصب لینوکس استفاده کنید (که میتواند در صورت نیاز به برنامهها و تنظیمات مختلف برای پروژههای مختلف مفید باشد – اگرچه Docker ممکن است کاربردیتر باشد)
دستورالعملهای زیر فرض را بر این میگذارند که شما توزیع لینوکس Ubuntu را به D:wsl
منتقل میکنید.
در ترمینال Windows Powershell (نه ترمینال اوبونتو)، wsl --list
را وارد کنید تا توزیع های لینوکس خود را مشاهده کنید، سپس یکی را با نام به یک .tar
— مانند D:backupubuntu.tar
:
mkdir D: پشتیبان گیری
wsl --export اوبونتو D:پشتیبان گیریubuntu.tar
لغو ثبت آن توزیع برای حذف آن از درایو C:
:
wsl --لغو ثبت نام اوبونتو
wsl --list
را وارد کنید تا تأیید کنید که توزیع حذف شده است.
پشتیبان را به یک توزیع WSL2 جدید در مکان دیگری وارد کنید، مانند D:wsl
:
mkdir D: wsl
wsl --import اوبونتو D:wsl D:پشتیبان گیریubuntu.tar
شما می توانید هر تعداد کلون نامگذاری شده را از همان نسخه پشتیبان ایجاد کنید. به عنوان مثال:
wsl --import Clone01 D:wsl D:پشتیبان گیریubuntu.tar
wsl --import D Another:wsl D:پشتیبان گیریubuntu.tar
با وارد کردن wsl --list
و راهاندازی Ubuntu از منوی استارت یا ترمینال ویندوز، تأیید کنید که توزیع WSL با موفقیت ایجاد شده است.
در این مرحله، اوبونتو از root
به عنوان کاربر پیشفرض استفاده میکند. برای بازگشت به حساب کاربری خود، دستور زیر را وارد کنید:
پیکربندی ubuntu --default-user نام شما>
در اینجا، نام کاربری است که در حین نصب تعریف کردید.
برای سایر توزیعهایی که پیشفرض WSL2 نیستند، با ورود به توزیع و ایجاد/ویرایش /etc/wsl.conf
، یک کاربر تعریف کنید:
لمس /etc/wsl.conf
نانو /etc/wsl.conf
خطوط زیر را به فایل اضافه کنید:
[کاربر]
پیش فرض=نام شما>
ذخیره (Ctrl + O) و خروج از (Ctrl + X)، سپس توزیع را در ترمینال Powershell با :
wsl --terminate distroname>
با فرض اینکه همه چیز خوب پیش رفته است، می توانید فایل پشتیبان (D:backupubuntu.tar
) را حذف کنید.
دسترسی به فایلهای لینوکس از ویندوز
از مسیر شبکه \wsl$
میتوانید به فایلهای لینوکس WSL2 دسترسی پیدا کنید. آن را در نوار آدرس File Explorer یا هر گفتگوی باز کردن فایل وارد کنید.
توزیعهای لینوکس نصبشده شما فهرست شدهاند، بنابراین میتوانید به دایرکتوری ریشه اوبونتو در \wsl$Ubuntu
دسترسی داشته باشید. فایلهای لینوکس شخصی شما معمولاً در:
ذخیره میشوند
wsl $اوبونتوhomeنام شما>
در اینجا، نام کاربری است که در حین نصب تعریف کردید.
بهتر است این پوشه را به عنوان پوشه شروع توزیع در Windows Terminal تنظیم کنید. تنظیمات را باز کنید، روی یک نمایه کلیک کنید، سپس گزینه دایرکتوری شروع را تغییر دهید.
نقشه درایو شبکه
می توانید با باز کردن \wsl$
در File Explorer، کلیک راست بر روی پوشه Ubuntu، یک درایو شبکه را به \wsl$Ubuntu
متصل کنید. انتخاب نقشه درایو شبکه….
متأسفانه، در حال حاضر امکان نگاشت زیر شاخه های عمیق تر وجود ندارد. همچنین ممکن است در برخی از برنامه ها با مشکلات درایو نقشه برداری مواجه شوید.
دسترسی به فایلهای ویندوز از لینوکس
درایوهای ویندوز در فهرست راهنمای /mnt/
لینوکس نصب شدهاند. برای مثال، پوشه کاربران
شخصی شما در C:Users
در آدرس زیر موجود است:
/mnt/c/Users/نام شما>
در اینجا، نام کاربری ویندوز شما است.
برای سهولت دسترسی، می توانید یک پیوند نمادین لینوکس به هر پوشه ویندوز از ترمینال ایجاد کنید. به عنوان مثال، برای C:projectscode
:
cd ~
ln -s /mnt/c/projects/code/
یک پوشه code
در فهرست اصلی لینوکس شما ظاهر می شود. با استفاده از cd ~/code
به آن بروید و در واقع در /mnt/c/projects/code/
خواهید بود که مستقیماً به C:projects نگاشت میشود. code
.
دسترسی به فایلهای ویندوز از لینوکس بسیار کندتر از استفاده از سیستم فایل لینوکس بومی است. در صورت امکان، پروژهها را در فضای فایل لینوکس ایجاد کنید، معمولاً در پوشه اصلی خود (/home//
یا ~
).
اجرای دستورات لینوکس از ویندوز
هر دستور پوسته لینوکس (bash) را می توان از یک Windows Powershell یا ترمینال خط فرمان با استفاده از wsl
اجرا کرد:
wsl linux-command>
به عنوان مثال، wsl ls -la
همه فایلهای موجود در یک پوشه ویندوز را فهرست میکند.
برنامه های ویندوز را از لینوکس اجرا کنید
هر فایل اجرایی ویندوز را می توان از لینوکس راه اندازی کرد (معمولاً لازم است پسوند .exe
را مشخص کنید). به عنوان مثال، برای باز کردن دایرکتوری فعلی لینوکس در File Explorer، وارد کنید:
explorer.exe .
یا .bashrc
را در Notepad ویرایش کنید:
notepad.exe ~/.bashrc
یا دایرکتوری پروژه خاصی را در VS Code باز کنید:
کد ~/projects/mywebsite
برنامه ها را نصب کنید
همیشه به یاد داشته باشید که از دو سیستم عامل استفاده می کنید. آنها ممکن است کاملاً یکپارچه باشند، اما شرایطی وجود دارد که می خواهید یک برنامه در همه جا نصب شود.
به عنوان مثال، Git هم در ویندوز و هم در لینوکس مفید است. نسخه Windows با دانلود یک فایل اجرایی نصب می شود. بهتر است مطمئن شوید که انتهای خطوط را تبدیل نمی کند:
git config --global core.autocrlf ورودی
Git در اوبونتو با استفاده از:
نصب میشود
سودو apt بهروزرسانی
sudo apt نصب git-all
به طور مشابه، ممکن است بخواهید برنامه های Node.js را در ویندوز و لینوکس آزمایش کنید. باز هم، ویندوز یک نصب کننده زمان اجرا دارد، اما Node.js زمان اجرا بر روی اوبونتو با استفاده از دستوراتی مانند:
نصب می شود.
سودو apt-get نصب build-essential
curl -sL https://deb.nodesource.com/setup_18.x | سودو -E باش -
sudo apt-get نصب -y nodejs
دستورات
git
، node
و npm
اکنون در هر دو سیستم عامل کار خواهند کرد. مراقب باشید که ممکن است نسخه های متفاوتی باشند.
نصب برنامه های گرافیکی لینوکس
WSL2 به شما امکان می دهد برنامه های گرافیکی X11 و Wayland Linux را مستقیماً روی ویندوز اجرا کنید. میتوانید برنامههای لینوکس را از منوی استارت راهاندازی کنید، آنها را به نوار وظیفه پین کنید و از ویژگیهایی مانند برش و چسباندن بین برنامهها استفاده کنید. برخی از نقاط ضعف وجود دارد:
- همه برنامههای گرافیکی مطابق انتظار کار نمیکنند
- برخی ویژگیهای لینوکس را ارائه میکنند – مانند گفتگوهای فایل – که میتواند کاربران ویندوز را گیج کند
- نصب برنامهها با نسخههای بومی ویندوز مانند فایرفاکس، VLC یا GIMP مزایای کمی دارد
برای ادامه، درایور GPU صحیح را برای رایانه شخصی خود نصب کنید:
سپس هر برنامه گرافیکی را از ترمینال لینوکس نصب کنید. به عنوان مثال، ویرایشگر متن GNOME Gedit:
سودو apt نصب gedit
آن را با:
راه اندازی کنید
gedit
برنامه را مانند هر برنامه ویندوز دیگری به منوی استارت یا نوار وظیفه پین کنید.
Gedit یک برنامه کوچک با حجم دانلود کمتر از 2 مگابایت است. با این حال، به گنوم و دیگر کتابخانههای لینوکس نیاز دارد که چندین صد مگابایت کد اضافی در بالای درایورهای GPU درشت (1.1 گیگابایت برای اینتل) به همراه دارند. استفاده از برنامههای گرافیکی لینوکس در WSL2 تنها زمانی منطقی است که نیاز به نصب چندین برنامه داشته باشید یا جایگزین ویندوز بومی وجود نداشته باشد.
نصب Docker
یک استثنا از قانون “نصب در هر دو سیستم عامل” Docker است!
Docker برنامههایی را در کانتینرهای لینوکس مجزا اجرا میکند که از نظر مفهومی شبیه ماشینهای مجازی سبک وزن با یک سیستمعامل، یک برنامه کاربردی و وابستگیهای آن هستند. استفاده از Docker برای توسعه وب، محیطی ثابتی را فراهم میکند که نصب آن آسان است و روی هر دستگاهی کار میکند.
Docker Desktop برای Windows کاملاً با WSL2 فعال است:
- نیازی به استفاده از Hyper-V نیست، بنابراین Docker را می توان در Windows Home نصب کرد
- زمانی که برای استفاده از WSL2 پیکربندی شده است، Docker به طور قابل ملاحظهای سریعتر راهاندازی میشود و اجرا میشود
- installing Docker Desktop on Windows enables
docker
anddocker-compose
in both Windows and Linux
Docker Desktop suggests you use WSL2 when it’s first launched. Alternatively, you can select Settings from the Docker system tray icon menu, then choose the General tab, check Use the WSL 2 based engine, and hit Apply & Restart.
Docker uses the default Linux distro, but you can also enable it in other installed distros from the WSL Integration panel in Settings, then Resources.
Launching Apache and PHP Applications Using Docker
It’s possible to install web dependencies such as Apache and PHP directly in your WSL2 Linux environment. However, Docker is safer, quicker, and more configurable: it allows you to run different versions of PHP on the same device at the same time.
In this example, you’ll create a small PHP file and run it using the latest release of PHP 7.4 in a Docker container. Ensure you’ve installed Docker Desktop for Windows and enabled WSL2 mode, then create a folder in your Linux environment with an index.php
file. به عنوان مثال:
mkdir ~/php
cd ~/php
touch index.php
Edit index.php
, perhaps using Notepad or VS Code as shown above. Add the following content, which outputs PHP status information:
<?php phpinfo();
Run the following docker
command to start a PHP 8.1-enabled Apache web server in a container which mounts files in the current host directory to /var/www/html
in the container:
docker run
-it --rm -p 8080:80 --name php
-v "$PWD":/var/www/html
php:8.1-apache
Note: this command also works in Windows, but the reference to $PWD
must be replaced by the full file path in Linux notation — such as /c/php/
.
Open https://localhost:8080/
in any Windows web browser to view the output of the phpinfo()
command.
To finish, press Ctrl + C in your Docker terminal to stop and delete the container.
WSL2 and localhost
Applications running on Windows, WSL2 Linux, and Docker containers are always accessed from localhost
or 127.0.0.1
.
The PHP example above exposed port 8080
, which was mapped to port 80
in the container. Similarly, if you have Node.js installed in Linux, you can cd
to any directory and start a static file server:
npx small-static-server
Open http://localhost:8888/
in a browser to view files in that directory (index.html
is returned by default).
Be aware that ports available in one OS may be unavailable in the other. Port numbers less than 1,000 are only available to Linux super users. Port 80 is often reserved by the Windows Store Skype App and it can’t be changed (although the classic Desktop edition does permit it).
SSL certificates that are either self-signed or locally trusted using tools such as mkcert can be used interchangeably in both Windows and Linux environments.
VS Code WSL2 Integration
VS Code permits you to use any Windows or Linux terminal. Open the terminal with View > Terminal or Ctrl + ' then hit the down arrow next to the + icon to launch a specific type. The same menu has a Select Default Profile option where you can select the terminal to use by default.
Like other applications, VS Code can directly access Linux files at \wsl$
and debuggers running on localhost
. There’s no need for further extensions, but the following options permit easier Linux and Docker file management:
After installing Remote – WSL, you can navigate to any Linux directory and launch a WSL-connected instance of VS Code:
cd ~/myproject
code .
Alternatively, click the remote window icon in the bottom left of the application, then choose a connection option.
Or use the new Remote Explorer icon in the Activity Bar. This allows you to choose a target type from the drop-down and connect accordingly.
The remote instance of VS Code has a separate set of extensions and settings for Linux use, but some can be globally enabled. The Extensions panel allows you to enable and configure extensions in the remote instance.
Settings are stored in your Linux ~/.vscode-server
directory.