لینکس (WSL) کے لیے ونڈوز سب سسٹم پر ڈوکر کے ساتھ ترقی
WSL میں ایک Docker پروجیکٹ کے ساتھ مکمل طور پر کام کرنے کے لیے، آپ کو WSL 2 انسٹال کرنا ہوگا۔ لکھنے کے وقت، اس کا استعمال صرف Windows Insider پروگرام میں شرکت کے حصے کے طور پر ممکن ہے (WSL 2 18932 اور اس سے اوپر کی تعمیرات میں دستیاب ہے)۔ یہ بات بھی الگ سے قابل ذکر ہے کہ ڈوکر ڈیسک ٹاپ کو انسٹال اور کنفیگر کرنے کے لیے ونڈوز 10 پرو ورژن کی ضرورت ہے۔
پہلا قدم
انسائیڈر پروگرام میں شامل ہونے اور اپ ڈیٹس انسٹال کرنے کے بعد، آپ کو لینکس ڈسٹری بیوشن (اس مثال میں اوبنٹو 18.04) اور ڈوکر ڈیسک ٹاپ WSL 2 Tech Preview کے ساتھ انسٹال کرنے کی ضرورت ہے:
اس کے بعد ہمیں یہ یقینی بنانا ہوگا کہ ہم WSL v2 استعمال کریں گے۔ ایسا کرنے کے لیے، WSL یا PowerShell ٹرمینل میں، درج ذیل کمانڈز چلائیں:
wsl -l -v - دیکھیں کہ فی الحال کون سا ورژن انسٹال ہے۔ اگر 1، تو ہم فہرست میں مزید نیچے چلے جاتے ہیں۔
wsl --set-version ubuntu 18.04 2 - ورژن 2 میں اپ ڈیٹ کرنے کے لیے
wsl -s ubuntu 18.04 - پہلے سے طے شدہ تقسیم کے طور پر اوبنٹو 18.04 انسٹال کریں۔
اب آپ Ubuntu 18.04 شروع کر سکتے ہیں اور اسے کنفیگر کر سکتے ہیں (اپنے صارف نام اور پاس ورڈ کی وضاحت کریں)۔
ڈوکر ڈیسک ٹاپ انسٹال کرنا
تنصیب کے عمل کے دوران ہدایات پر عمل کریں۔ کمپیوٹر کو انسٹالیشن کے بعد اور پہلے سٹارٹ اپ پر Hyper-V کو فعال کرنے کے لیے دوبارہ شروع کرنے کی ضرورت ہوگی (جس کی وجہ سے Windows 10 Pro کی ضرورت ہے)۔
اہم! اگر Docker ڈیسک ٹاپ فائر وال کے ذریعے بلاک ہونے کی اطلاع دیتا ہے، تو اینٹی وائرس کی ترتیبات پر جائیں اور فائر وال کے قوانین میں درج ذیل تبدیلیاں کریں (اس مثال میں، Kaspersky Total Security کو اینٹی وائرس کے طور پر استعمال کیا جاتا ہے):
ترتیبات پر جائیں -> سیکیورٹی -> فائر وال -> پیکٹ کے قواعد ترتیب دیں -> لوکل سروس (ٹی سی پی) -> ترمیم کریں
پورٹ 445 کو مقامی بندرگاہوں کی فہرست سے ہٹا دیں۔
برقرار رکھنے
ڈوکر ڈیسک ٹاپ شروع کرنے کے بعد، اس کے سیاق و سباق کے مینو سے WSL 2 Tech Preview کو منتخب کریں۔
کھلنے والی ونڈو میں، اسٹارٹ بٹن پر کلک کریں۔
Docker اور docker-compose اب WSL کی تقسیم میں دستیاب ہیں۔
اہم! اپ ڈیٹ کردہ ڈوکر ڈیسک ٹاپ اب سیٹنگ ونڈو کے اندر WSL کے ساتھ ایک ٹیب رکھتا ہے۔ WSL سپورٹ وہاں فعال ہے۔
اہم! WSL ایکٹیویشن چیک باکس کے علاوہ، آپ کو وسائل->WSL انٹیگریشن ٹیب میں اپنی WSL ڈسٹری بیوشن کو بھی چالو کرنے کی ضرورت ہے۔
لانچ کریں۔
ونڈوز صارف ڈائرکٹری میں واقع پروجیکٹ کنٹینرز کو اٹھانے کی کوشش کرتے وقت پیدا ہونے والے بہت سے مسائل جو غیر متوقع تھے۔
bash اسکرپٹس کے اجراء سے وابستہ مختلف قسم کی خرابیاں (جو عام طور پر ضروری لائبریریوں اور تقسیم کے لیے کنٹینرز کی تعمیر کے وقت شروع ہوتی ہیں) اور لینکس پر ترقی کے لیے عام ہونے والی دوسری چیزوں نے ہمیں پروجیکٹس کو براہ راست Ubuntu 18.04 کی صارف ڈائرکٹری میں رکھنے کے بارے میں سوچنے پر مجبور کیا۔
.
پچھلے مسئلے کے حل سے، درج ذیل ہے: ونڈوز پر انسٹال کردہ IDE کے ذریعے پروجیکٹ فائلوں کے ساتھ کیسے کام کریں۔ ایک "بہترین عمل" کے طور پر، مجھے اپنے لیے صرف ایک آپشن ملا - VSCode کے ذریعے کام کرنا (حالانکہ میں PhpStorm کا مداح ہوں)۔
مذکورہ ایکسٹینشن کو انسٹال کرنے کے بعد، بس کمانڈ چلائیں۔ code . پروجیکٹ ڈائرکٹری میں جب VSCode چل رہا ہو۔
اس مثال میں، nginx کو براؤزر کے ذریعے کنٹینرز تک رسائی حاصل کرنے کی ضرورت ہے۔ کے ذریعے انسٹال کریں۔ sudo apt-get install nginx معلوم ہوا کہ یہ اتنا آسان نہیں ہے۔ سب سے پہلے، ہمیں WSL ڈسٹری بیوشن کو چلا کر اپ ڈیٹ کرنے کی ضرورت ہے۔ sudo apt update && sudo apt dist-upgrade، اور اس کے بعد ہی nginx انسٹالیشن شروع کریں۔
اہم! تمام مقامی ڈومین لینکس ڈسٹری بیوشن کی /etc/hosts فائل میں رجسٹرڈ نہیں ہیں (یہ وہاں بھی نہیں ہے)، بلکہ ونڈوز 32 کی میزبان فائل (عام طور پر واقع C:WindowsSystem10driversetchosts) میں رجسٹرڈ ہیں۔