پروگرامنگ ڈاکر - سافٹوئیر کنٹینر پلیٹفارم

vertical_large.png

ڈاکر (Docker) ایک سافٹوئیر کنٹینرائزیشن پلیٹفارم ہے۔ اس کی مدد سے کسی بھی سافٹوئیر کو اس کی تمام ضروریات، انحصارات، و ترتیبات سمیت ڈبہ بند کر کے ہر جگہ اس کی یکساں کارکردگی کو یقینی بنایا جا سکتا ہے۔ گو کہ اس مقصد کے لیے ورچؤل مشین کا استعمال بھی کیا جا سکتا ہے، لیکن ورچؤل مشین کے بر عکس سافٹوئیر کنٹینر میں مکمل آپریٹنگ سسٹم شامل نہیں کیا جاتا، لہٰذا کنٹینرز نسبتاً کافی ہلکے پھلکے، سریع العمل، اور کم وسائل میں خاصے مؤثر ہوتے ہیں۔ حالانکہ کسی ایک مشین کے تمام کنٹینرز کے تمام پروسیسیز میزبان آپریٹنگ سسٹم میں براہ راست چل رہے ہوتے ہیں، لیکن ہر کنٹینر کچھ اس طرح ملفوف ہوتا ہے کہ اس کو اپنے سوا باقی کسی اور پروسیس یا اپنے محدود فائل سسٹم کے سوا خارجی فائل سسٹم کا ادراک نہیں ہوتا، الا یہ کہ اسے بتایا جائے۔ سافٹوئیر کنٹینر کی مدد سے یہ بھی ممکن ہے کہ ایک ہی مشین میں ایک ہی سافٹوئیر کے کئی نسخے بیک وقت چلائے جائیں، گر چہ ان کے انحصارات باہم متضاد کیوں نہ ہوں۔

ڈاکر کنٹینرز کے استعمال کے لیے ضروری ہے کہ کمپیوٹر میں ڈاکر سافٹوئیر نصب ہو۔ ڈاکر کمیونٹی ایڈیشن ونڈوز، میک، اور کئی لینکس آپریٹنگ سسٹمز کے لیے مفت دستایب ہے۔ یوں تو ڈاکر کے استعمال اور اس کے نظم و ضبط کو سہل بنانے کے لیے کئی گرافیکل انٹرفیس دستیاب ہیں، جن میں چند براؤزر ایڈ آنز بھی شامل ہیں، لیکن اس کے مؤثر استعمال کے لیے اس کی کمانڈ لائن انٹرفیس سے واقفیت مفید ہو گی، لہٰذا ہم یہاں محض مؤخر الذکر کا استعمال کریں گے۔

کسی ڈاکر کنٹینر کو چلانے سے قبل متعلقہ ڈاکر امیج کی ضرورت ہوتی ہے۔ ڈاکر امیج عموماً ڈاکر فائل (Dockerfile) کی مدد سے بنائی جاتی ہے۔ گو کہ ڈاکر امیج بغیر کسی ڈاکر فائل کے بھی بنائی جا سکتی ہے، لیکن اختصار کی نیت سے ہم یہاں ان طریقوں کے بیان سے گریز برتیں گے۔ ڈاکر فائل کی ابتدا پہلے سے موجود کسی امیج کو بنیاد بنا کر کی جاتی ہے۔ ڈاکر ہب میں کئی مشہور زمانہ سافٹوئیر آفیشئیل ریپوزیٹریز کی ذیل میں موجود ہیں جو بہترین بنیادی امیج ثابت ہو سکتے ہیں، اس کے علاوہ دیگر لوگوں نے بے شمار امیجیز پبلکلی شائع کر رکھی ہیں، لیکن خالی تختی سے شروعات مقصود ہو تو "scratch" نامی امیج کو بنیاد بنایا جا سکتا ہے۔ بعد ازاں اس میں تہ بہ تہ دیگر ضروریات کا بیان شامل کیا جاتا ہے، مثلاً، امیج کے اندر کسی مخصوص مقام پر کوئی فولڈر بنانا، بائنریز، لائبریریز، کوڈ، اور کنفیگیوریشن فائلیں نقل کرنا، ضروری سافٹوئیر نصب کرنا، غیر ضروری فائلیں حذف کرنا، انوائرنمنٹ ویرئیبل متعین کرنا، اور ورکنگ ڈائریکٹری تبدیل کرنا وغیرہ۔ پھر ایک کمانڈ کے ذریعہ اس ڈاکر فائل کی مدد سے متعلقہ ڈاکر امیج بنائی جاتی ہے جو ڈاکر فائل کے مطابق پرت در پرت اس مشین کے ڈاکر نظام میں محفوظ ہو جاتی ہے جہاں اس کمانڈ کو چلایا گیا ہو۔ ڈاکر امیجیز کو دوسری مشینوں تک منتقل کرنے کے لیے اسے ڈاکر ہب میں بھیج کر وہاں سے دوسری مشینوں میں ڈاؤنلوڈ کیا جا سکتا ہے، اسی ڈاکر فائل کی مدد سے دوسری مشینوں میں دوبارہ امیج کو تیار کیا جا سکتا ہے، یا (tar.gz فورمیٹ میں) ایکسپورٹ اور امپورٹ کیا جا سکتا ہے۔ ڈاکر ہب میں ایک سہولت یہ بھی موجود ہے کہ گٹ ہب یا بٹ بکٹ میں موجود کسی کوڈ ریپوزیٹری میں ڈاکر فائل موجود ہو تو کوڈ میں ہوئی ہر تبدیلی کے بعد خود کار طریقے سے اس کی ڈاکر امیج ڈاکر ہب میں بنائی جا سکتی ہے۔ ڈاکر امیج کی تیاری یا حصول کے بعد اس امیج سے ایک یا زائد کنٹینرز چلائے جا سکتے ہیں۔ کنٹینرز چلاتے ہوئے اگر متعلقہ امیج اس مشین کے ڈاکر نظام میں دستیاب نہیں یا اس کی چند پرتیں موجود نہیں تو وہ خود کار طور پر ڈاکر ہب رجسٹری سے ڈاؤنلوڈ کر لی جاتی ہیں۔

اگر آپ کے کمپیوٹر میں ڈاکر نصب ہے تو کمانڈ لائن پر درج ذیل کمانڈ آزمائیں۔ اس کا مطلب یہ ہے کہ ibnesayeed/urlextractor نامی امیج سے ایک عدد ڈاکر کنٹینر چلایا جائے اور اس میں اردو محفل کا ربط بطور آرگیومینٹ بھیجا جائے (اس کی جگہ کسی دوسرے یو آر ایل پر بھی تجربہ کیا جا سکتا ہے)۔ اس کمانڈ کا مقصد یہ ہے کہ ارگیومینٹ کے طور پر دیے گئے ربط پر موجود صفحے میں جتنے بھی روابط ہیں ان سب کو نچوڑ کر پیش کیا جائے۔ پہلی دفعہ یہ کمانڈ چلانے پر موجودہ مشین میں ibnesayeed/urlextractor امیج دستیاب نہ ہوگی اس لیے اس کی تمام پرتیں ڈاکر ہب رجسٹری سے ڈاؤنلوڈ کی جائیں گی، اس کے بعد یو آر ایل کھنگالنے کا کام انجام پائے گا۔ دوسری دفعہ یہ تجربہ دہرانے پر امیج ڈاؤنلوڈ کا اضافی عمل نہیں دہرایا جائے گا، حتیٰ کہ اس امیج کو نظام سے حذف کر دیا گیا ہو۔ امیج کے نام میں ibnesayeed کا سابقہ اس لیے موجود ہے کیونکہ ہم نے اس امیج کو ڈاکر ہب میں عمومی استعمال کے لیے اپلوڈ کر رکھا ہے، جہاں آفیشئیل امیجیز کے علاوہ باقی تمام امیجیز کے ناموں میں ارسال کرنے والے رکن یا آرگنائزیشن کی آئی ڈی شامل ہوتی ہے تاکہ مختلف لوگوں کی یکساں ناموں کی امیجیز متصادم نہ ہوں۔ اگر کسی رجسٹری میں امیجیز کو اپلوڈ کرنا مقصود نہ ہو تو بغیر کسی سابقے کے نام بھی جائز ہوں گے۔
کوڈ:
$ docker container run ibnesayeed/urlextractor http://www.urduweb.org/mehfil/

اب کسی ویب پیج سے یو آر ایل اخذ کرنے کے لیے ایک اسکرپٹ لکھتے ہیں اور دیکھتے ہیں کہ اس میں کیا مسائل درپیش ہوں گے اور ڈاکر کی مدد سے ان کو کیسے حل کیا جا سکتا ہے۔ ذیل میں main.py نام سے ایک عدد پائتھون فائل کا مواد پیش کیا جا رہا ہے۔ یہ سادہ سی اسکریپٹ کمانڈ لائن پر فراہم کرائے گئے آخری ارگیومینٹ کو یو آر ایل مان کر اسے انٹرنیٹ سے ڈاؤنلوڈ کرے گی، اس کے مواد کو ایک ایچ ٹی ایم ایل پارسر کی مدد سے پارس کر کے اس میں موجود تمام اینکر ایلیمینٹس کے ہائپر ریفرینس کو اخذ کر کے پرنٹ کر دے گی۔
PHP:
#!/usr/bin/env python

import sys
import requests
from bs4 import BeautifulSoup

r = requests.get(sys.argv[-1])
data = r.text
soup = BeautifulSoup(data)
for link in soup.find_all("a"):
    print(link.get("href"))

اس اسکرپٹ کو ایکزیکیوٹ کرنے کی کوشش میں کئی مسائل کا سامنا ہو سکتا ہے۔ مثلاً کمپیوٹر میں پائتھون نصب نہیں، یا اس کا بہت پرانا نسخہ نصب ہے جسے اپڈیٹ کرنے کی صورت میں دوسرے موجودہ سافٹوئیر متاثر ہو سکتے ہیں۔ اگر پائتھون نصب بھی ہو تو بھی ریکوئیسٹس اور بیوٹیفل سوپ نامی دو تھرڈ پارٹی پائتھون لائبریریاں غیر موجود ہو سکتی ہیں جو اس اسکرپٹ میں مستعمل ہیں۔ پائتھون کی اضافی لائبریریوں کو نصب کرنے کے لیے جن انسٹالرز کی ضرورت ہوتی ہے وہ پائتھون رن ٹائم میں موجود نہیں ہوتیں، بلکہ اس کے ڈیویلپر پیکیج میں شامل ہوتی ہیں، لہٰذا لینکس مشینوں میں پہلے سے پائتھون موجود بھی ہو تو بھی یہ لائبریریاں بآسانی نصب نہیں کی جا سکیں گی۔ متعلقہ اضافی لائبریریوں کو نصب کرنے کے بعد ممکن ہے کہ اس اسکرپٹ کی پرمیشن بطور ایکزیکیوٹیبل اسکرپٹ طے نہ کی گئی ہو۔ ان سب مسائل سے نمٹنے کے بعد اس اسکرپٹ سے خاطر خواہ کام لیا جا سکتا ہے، لیکن یہ اسکرپٹ کسی اور مشین پر چلانی ہو تو نئے سرے سے سارے مسائل دور کرنے ہوں گے۔ اب آئیے اس اسکرپٹ کو ڈاکرائز کرتے ہیں تاکہ ان مسائل کا سد باب کیا جا سکے۔ اس کے لیے ذیل میں ایک Dockerfile کا نمونہ پیش ہے (دونوں فائلیں اس جسٹ میں موجود ہیں)۔
PHP:
FROM       python
LABEL      maintainer="Sawood Alam <@ibnesayeed>"

RUN        pip install beautifulsoup4
RUN        pip install requests
COPY       main.py /app/
WORKDIR    /app
RUN        chmod a+x main.py

ENTRYPOINT ["./main.py"]

اس Dockerfile کو اپنے کمپیوٹر کے اسی فولڈر میں رکھیں جہاں مذکورہ بالا main.py فائل موجود ہے۔ پھر کمانڈ لائن پر اسی فولڈر میں جائیں اور درج ذیل کمانڈ چلائیں۔
کوڈ:
$ docker image build -t ibnesayeed/urlextractor .

اس کمانڈ کے اخیر میں ایک ڈاٹ "." موجود ہے جس کا مطلب ہے موجودہ فولڈر۔ اس کمانڈ کا مطلب یہ ہے کہ موجودہ فولڈر میں موجود Dockerfile کی مدد سے ایک عدد ڈاکر امیج تیار کی جائے جس نام (یا ٹیگ) ibnesayeed/urlextractor ہو۔ اس میں ibnesayeed کی جگہ اپنی ڈاکر ہب آئی ڈی کا استعمال کریں (اگر امیج کو ڈاکر ہب میں شامل کرنا مقصود ہو) یا سرے سے کوئی سابقہ ہی استعمال نہ کریں۔ کمانڈ چلانے پر مذکورہ ڈاکر فائل کی بنیاد پر سب سے پہلے پائتھون کے تازہ ترین نسخے کی آفیشئیل ڈاکر امیج بطور بنیاد ڈاؤن لوڈ ہوگی (اگر پہلے سے ڈاکر امیج کیش میں موجود نہ ہوئی)، پھر اگلی پرت کے طور پر رکھ رکھاؤ کرنے والے کا نام اور رابطہ بطور لیبل شامل ہوگا، پھر یکے بعد دیگرے بیوٹیفل سوپ اور ریکوئیسٹس لائبریریز نصب ہوں گی، پھر میزبان مشین کے موجودہ فولڈر میں موجود main.py اسکرپٹ فائل امیج کے اندر app فولڈر میں نقل کر دی جائے گی (یہ فولڈر پہلے سو موجود نہیں، لیکن از خود بن جائے گا)، پھر app فولڈر کو بطور ورکنگ ڈائریکٹری طے کر دیا جائے گا جو کنٹینر چلاتے ہوئے بھی برقرار رہے گا (الا یہ کہ اسے تبدیل کیا جائے)، پھر main.py فائل کو ایکزیکیوٹیبل قرار دیا جائے گا، اور اخیر میں اس پائتھون اسکرپٹ کو اینٹری پوائنٹ کے طور پر متعین کر دیا جائے گا تاکہ کنٹینر چلاتے ہوئے اسکرپٹ کا نام بطور آرگیومینٹ شامل کرنے کی ضرورت نہ ہو۔ اس کے بعد فراہم کردہ نام سے ایک عدد ڈاکر امیج بن کر میزبان مشین کے ڈاکر امیج کیش میں محفوظ ہو جائے گی جس کی مدد سے اس مشین پر ایک یا زائد کنٹینرز چلائے جا سکتے ہیں یا شراکت کی غرض سے درج ذیل کمانڈ کی مدد سے ڈاکر ہب میں بھیجا جا سکتا ہے۔ واضح رہے کہ ڈاکر ہب میں بھیجنے کے لیے ڈاکر ہب کا اکاؤنٹ ہونا ضروری ہے۔
کوڈ:
$ docker image push ibnesayeed/urlextractor

ڈاکر امیج بناتے ہوئے نظام از خود اس کے ساتھ latest کا ٹیگ شامل کر دیتا ہے جو کہ طے شدہ ٹیگ ہے یعنی امیج بناتے ہوئے یا کنٹینر چلاتے ہوئے اس کی وضاحت نہ کی جائے تو یہ مانا جاتا ہے کہ متعلقہ امیج کا latest ٹیگ مقصود ہے۔ امیج بناتے ہوئے، کنٹینر چلاتے ہوئے، یا ڈاکر فائل میں بنیادی امیج کی صورت کسی مخصوص ٹیگ کی وضاحت مقصود ہو تو نام کے ساتھ کولن نشان ":" کے بعد متعلقہ ٹیگ کا لاحقہ شامل کیا جا سکتا ہے۔ اس طرح بعض تبدیلیوں کے ساتھ ایک ہی امیج کی کئی صورتیں بیک وقت نظام میں موجود ہو سکتی ہیں اور ڈیویلپمنٹ کے وقت مختلف تبدیلیوں کے ساتھ سافٹوئیر کی ٹیسٹنگ میں معاون ہو سکتی ہیں۔

چونکہ ہر کنٹینر کی اپنی علیحدہ دنیا ہوتی ہے، لہٰذا ان میں چل رہے پروسیسیز کو باہر سے استعمال میں لانے کے لیے عموماً رن ٹائم پر پورٹ میپنگ کی جاتی ہے۔ اسی طرح کنٹینر کے ختم ہوتے ہی اس کا فائل سسٹم بھی ذائل ہو جاتا ہے، لہٰذا ضروری فائلوں کو برقرار رکھنے کے لیے والیومز کا استعمال کیا جاتا ہے جن کی مدد سے میزبان مشین کے فائل سسٹم کے کسی فولڈر کو کنٹینر میں ماؤنٹ کرنا ممکن ہوتا ہے۔ اس کی تفصیلات ڈاکر رن ریفرینس سے حاصل کی جا سکتی ہیں۔

عموماً پیچیدہ سافٹوئیر ایک سے زائد سرویسیز استعمال کرتے ہیں، مثلاً زین فورو یا ورڈ پریس کا نظام ایک عدد ویب سرور، ایک عدد ڈیٹا بیس سرور، اور ایک عدد پی ایچ پی انٹرپریٹر کا متقاضی ہے۔ اس مقصد کے لیے کچھ لوگ ایک ہی ڈاکر امیج میں ساری ضروریات شامل کر دیتے ہیں، جبکہ کچھ لوگ سبھی خدمات کے لیے علیحدہ علیحدہ امیجیز بناتے ہیں اور رن ٹائم پر انہیں مربوط کرتے ہیں۔ مؤخر الذکر طریقہ اس لحاظ سے بہتر ہے کہ مختلف خدمات کو علیحدہ علیحدہ اپڈیٹ کرنا اور حسب ضرورت اسکیل کرنا سہل ہوتا ہے۔ لیکن کنٹینر آرکسٹریشن کا موضوع اس مختصر تعارفی مضمون کے دائرہ کار سے باہر ہے۔

ذیل میں پریزینٹیشن سلائڈس کی صورت ڈاکر کا مختصر تعارف پیش کیا گیا ہے اور ساتھ ہی کچھ مفید روابط بھی فراہم کرائے گئے ہیں۔


پچھلے سال ہم نے ویب آرکائیونگ کے ایک پیچیدہ سافٹوئیر، آرکائیو اسپارک کے ڈاکرائزیشن کا تجربہ قلمبند کیا تھا اور یہ دکھایا تھا کہ ہم نے کیسے اس کی تنصیب و ترتیب کی پیچیدگیوں کو ختم کر کے محض ایک کمانڈ کے ذریعہ چلانے کے قابل بنا دیا۔ اردو ویب کی بعض خدمات ڈاکرائز کر دی گئی ہیں اور باقی پر مستقبل میں کام کرنے کا ارادہ ہے۔ لگے ہاتھوں ہم یہ بھی بتا دیں کہ حال ہی میں ہمیں اولڈ ڈومینئین یونیورسٹی کا ڈاکر کیمپس ایمبیسڈر چنا گیا ہے۔ :) :) :)

 

محمدصابر

محفلین
ابھی کل انسٹال کیا ۔ آج اس نے کہہ دیا کہ بیمار ہو گیا ہوں ’ریسیٹ ٹو فیکٹری ڈیفالٹ‘۔ ہم نے کہا نیکی اور پوچھ پوچھ۔ اچھا لگا کہ چلو واپس ری انسٹال تو نہیں کرنا پڑا۔
 
ابھی کل انسٹال کیا ۔ آج اس نے کہہ دیا کہ بیمار ہو گیا ہوں ’ریسیٹ ٹو فیکٹری ڈیفالٹ‘۔ ہم نے کہا نیکی اور پوچھ پوچھ۔ اچھا لگا کہ چلو واپس ری انسٹال تو نہیں کرنا پڑا۔
آپ غالباً ونڈوز مشین استعمال کرتے ہیں؟ ہم نے ڈاکر کو ہمیشہ لینکس مشین میں استعمال کیا ہے اس لیے اس بارے میں زیادہ کچھ بتا نہیں سکتے۔ ویسے ونڈوز اور میک کے لیے ڈاکر کے انسٹالر میں کافی کچھ اضافی ہوتا ہے مثلاً ایک ہلکی پھلکی ؛یمکس ورچؤل مشین اور گرافیکل انٹرفیس وغیرہ۔ لینکس میں نیٹیو سپورٹ کے باعث ورچؤل مشین کی ضرورت نہیں ہوتی اور ضرورت پڑنے پر گرافیکل ٹولز الگ سے نصب کیے جا سکتے ہیں۔ بہر کیف آپ اپنے تجربات سے ضرور آگاہ کریں اور کوئی مسئلہ درپیش ہو تو یہاں شریک کریں۔ :) :) :)
 

محمدصابر

محفلین
آپ غالباً ونڈوز مشین استعمال کرتے ہیں؟ ہم نے ڈاکر کو ہمیشہ لینکس مشین میں استعمال کیا ہے اس لیے اس بارے میں زیادہ کچھ بتا نہیں سکتے۔ ویسے ونڈوز اور میک کے لیے ڈاکر کے انسٹالر میں کافی کچھ اضافی ہوتا ہے مثلاً ایک ہلکی پھلکی ؛یمکس ورچؤل مشین اور گرافیکل انٹرفیس وغیرہ۔ لینکس میں نیٹیو سپورٹ کے باعث ورچؤل مشین کی ضرورت نہیں ہوتی اور ضرورت پڑنے پر گرافیکل ٹولز الگ سے نصب کیے جا سکتے ہیں۔ بہر کیف آپ اپنے تجربات سے ضرور آگاہ کریں اور کوئی مسئلہ درپیش ہو تو یہاں شریک کریں۔ :) :) :)
ونڈوز ۱۰ میں بھی ہائپر وی پہلے سے موجود ہے میرے پاس تو ایکٹو بھی ہے۔ اس لئے مجھے کچھ زیادہ پریشانی نہیں ہوئی۔ ابھی مندرجہ ذیل کمانڈ چلائی ہے دیکھیں کیا ہوتا ہے؟
docker pull centos:5.11
 
ونڈوز ۱۰ میں بھی ہائپر وی پہلے سے موجود ہے میرے پاس تو ایکٹو بھی ہے۔ اس لئے مجھے کچھ زیادہ پریشانی نہیں ہوئی۔ ابھی مندرجہ ذیل کمانڈ چلائی ہے دیکھیں کیا ہوتا ہے؟
docker pull centos:5.11
اس سے یہ ہوگا کہ سینٹ او ایس کے 5.11 نسخے کی ڈاکر امیج آپ کی مشین کی کیش میں ڈاؤنلوڈ ہو جائے گی۔ اس کے بعد مذکورہ امیج سے کنٹینر چلا کر اس کے بیش پرامپٹ سے کھیلنا چاہیں تو درج ذیل کمانڈ دیں۔ :) :) :)
کوڈ:
$ docker container run -it centos:5.11 bash

اس میں i اور t کے فلیگ ہوسٹ مشین کے ٹرمنل کے ساتھ جوڑ کر انٹریکٹیو سیشن فراہم کرنے کے لیے استعمال کیے گئے ہیں۔ واضح رہے کہ اس طرح کنٹینر سے نکلنے کے بعد بھی کنٹینر کی باقیات نظام میں موجود رہیں گی جنہیں بعد میں ختم کیا جا سکتا ے۔ اگر ان باقیات سے فی الفور نجات پانا مقصود ہو تو ساتھ ہی --rm فلیگ کا بھی استعمال کریں۔ یہ فلیگ ڈیمن موڈ (-d فلیگ) کے ساتھ کام نہیں کریں گے۔ :) :) :)
 

محمدصابر

محفلین
اس سے یہ ہوگا کہ سینٹ او ایس کے 5.11 نسخے کی ڈاکر امیج آپ کی مشین کی کیش میں ڈاؤنلوڈ ہو جائے گی۔ اس کے بعد مذکورہ امیج سے کنٹینر چلا کر اس کے بیش پرامپٹ سے کھیلنا چاہیں تو درج ذیل کمانڈ دیں۔ :) :) :)
کوڈ:
$ docker container run -it centos:5.11 bash

اس میں i اور t کے فلیگ ہوسٹ مشین کے ٹرمنل کے ساتھ جوڑ کر انٹریکٹیو سیشن فراہم کرنے کے لیے استعمال کیے گئے ہیں۔ واضح رہے کہ اس طرح کنٹینر سے نکلنے کے بعد بھی کنٹینر کی باقیات نظام میں موجود رہیں گی جنہیں بعد میں ختم کیا جا سکتا ے۔ اگر ان باقیات سے فی الفور نجات پانا مقصود ہو تو ساتھ ہی --rm فلیگ کا بھی استعمال کریں۔ یہ فلیگ ڈیمن موڈ (-d فلیگ) کے ساتھ کام نہیں کریں گے۔ :) :) :)
یہ کمانڈ نہیں چلی۔ کل میں نے گوگل سے ایک ڈھونڈ کر ایک کمانڈ لگائی تھی وہ چل گئی تھی۔ اور پرامٹ مل گئی تھی۔
 
بہت خوب ابنِ سعید بھائی۔
ہماری ویب بیسڈ جاوا ایپلیکیشن ہے۔ ذرا فرصت ملی تو کنفگریشن انجینئر کے ساتھ اس کا تجربہ کرنے کی کوشش کروں گا۔ :)

اگر کامیاب رہا تو کافی سود مند ہو گا ہمارے لیے۔
 
آخری تدوین:
بہت خوب سعید بھائی۔
قبلہ والد صاحب کا اقبال بلند ہو! :) :) :)
ہماری ویب بیسڈ جاوا ایپلیکیشن ہے۔ ذرا فرصت ملی تو کنفگریشن انجینئر کے ساتھ اس کا تجربہ کرنے کی کوشش کروں گا۔ :)
ہم نے حال ہی میں ایک بڑے جاوا ویب ایپلیکیشن، اوپن وے بیک، کو ڈاکرائز کیا تھا جو کہ آرکائیو کیے گئے ویب پیجیز کے ری پلے کے لیے استعمال ہوتا ہے۔ یہ کافی پیچیدہ نظام ہے اور کوڈ بیس بھی کافی پرانا ہے۔ اس کی ڈاکر فائل کا مطالعہ آپ کے لیے مفید ہو سکتا ہے۔ ہم نے اس میں ڈاکر کی کچھ جدید خصوصیات کا استعمال کیا ہے۔ اس کی ڈاکرائزیشن کے متعلق گفتگو بھی آپ کے لیے کافی مفید ثابت ہو سکتی ہے۔ :) :) :)
اگر کامیاب رہا تو کافی سود مند ہو گا ہمارے لیے۔
یہ کافی سود مند ثابت ہو سکتا ہے، مثلاً ڈیویلپمنٹ اور ڈیپلائمنٹ انوائرنمنٹ میں یکسانیت بڑھے گی، بلڈ ٹائم کم ہو سکتا ہے، اور ٹیسٹنگ کے لیے مختلف انوائرنمنٹ کا سیٹ اپ بے حد سہل ہو جائے گا۔ :) :) :)
 

فرخ

محفلین
ابھی تک ڈاکر استعمال کرنے کا موقع نہیں ملا۔۔۔ میرے تمام کام چونکہ ونڈوز کی کنفیگریشن کے ساتھ ہیں اسلئے ورچوءل مشینیں بھی ونڈوز والی استعمال کرنی پڑتی ہیں اور تمام بلڈز اور انسٹالرز بھی ونڈوز کے مطابق ہیں۔
البتہ کچھ عرصے پہلے ونڈوز میں ٹیسٹ کے لئے ڈاکر انسٹال کرنے کی کوشش کی۔۔۔ اس کے لئے پہلے لائنکس کا ایک وی ایم ڈلتا ہے اور اس میں ڈاکر چلتا ہے۔۔ گویا ڈاکر کے نیچے دو تہیں آجاتی ہیں۔۔۔ جبکہ اگر اسے لائنکس پر ڈائریکٹ انسٹال کیا جائے تو پھر ایک ہی تہہ رہ جاتی ہے اور یہ وہاں زیادہ اچھی پرفارمنس دے گا۔
کیا ڈاکر میں ونڈوز کا کوئی وی ایم موجود ہے تاکہ ہم لائنکس میں ڈاکر کے ذریعے ونڈوز چلا سکیں۔۔۔ ؟
 

نبیل

تکنیکی معاون
لینکس میں ونڈوز ڈاکر امیج رن کرنا غالبا ممکن نہیں ہے۔ اگر مقصد ڈاٹ نیٹ اپلیکشن ہوسٹ کرنا ہے تو اے ایس پی ڈاٹ نیٹ کور کو براہ راست لینکس کنٹینر پر بھی ہوسٹ کیا جا سکتا ہے۔
 
آخری تدوین:
Top