Raspberry Pi ہر قسم کے پروگراموں کو انسٹال کرنے کے لیے مثالی ہے جنہیں ہمیشہ چلنا پڑتا ہے۔ ایسا کرنے کا سب سے قابل اعتماد طریقہ ڈوکر کے ساتھ ہے: اس طرح ہر پروگرام ایک کنٹینر میں الگ تھلگ چلتا ہے، لہذا وہ ایک دوسرے کے ساتھ مداخلت نہیں کرسکتے ہیں۔ ہم آپ کو دکھائیں گے کہ Raspberry Pi پر Docker کا استعمال کیسے کریں اور آپ کو کن چیزوں پر توجہ دینی چاہیے۔
اگر آپ کے پاس تھوڑی دیر کے لیے Raspberry Pi ہے، تو امکان ہے کہ آپ اس پر زیادہ سے زیادہ سافٹ ویئر انسٹال کرتے رہیں گے۔ ہوم اسسٹنٹ، Zwave2Mqtt، Node-RED، Rhasspy… یہ سب ٹھیک چل رہا ہے، جب تک کہ آپ اپنے تمام سافٹ ویئر کو نئے ورژن میں اپ ڈیٹ نہیں کرتے، اور اچانک آپ کا ایک پروگرام کام کرنا بند کر دیتا ہے اور ایک مبہم غلطی کا پیغام دیتا ہے۔
کیا ہوا؟ ایک عام منظر نامہ مندرجہ ذیل ہے۔ سافٹ ویئر A اور B دونوں لائبریری C کا ورژن 1.0 استعمال کرتے ہیں۔ اسی دوران، لائبریری C کا ورژن 2.0 جاری کیا گیا ہے، جو C 1.0 سے مطابقت نہیں رکھتا ہے۔ سافٹ ویئر A کو لائبریری C 2.0 استعمال کرنے کے لیے دوبارہ لکھا جا رہا ہے، جبکہ سافٹ ویئر B کے ڈویلپرز اتنے تیز نہیں ہیں اور تھوڑی دیر کے لیے لائبریری C 1.0 کے ساتھ قائم رہیں گے۔ آپ سافٹ ویئر A کو اپ ڈیٹ کرتے ہیں اور وہ لائبریری C 2.0 انسٹال کرتا ہے۔ لیکن Raspbian لائبریری کا صرف ایک ورژن انسٹال کر سکتا ہے۔ نتیجے کے طور پر، سافٹ ویئر B اچانک کام نہیں کرتا، کیونکہ یہ لائبریری C 2.0 کے ساتھ مطابقت نہیں رکھتا ہے۔
عملی طور پر، لینکس کی تقسیم اس قسم کی صورتحال سے بچنے کے لیے ہر ممکن کوشش کرتی ہے، لیکن ایسا ہوتا ہے۔ کبھی کبھی بہت زیادہ لطیف طریقوں سے، لہذا یہ ہمیشہ فوری طور پر واضح نہیں ہوتا ہے کہ مسئلہ کیا ہے۔
01 Docker کیا ہے؟
ڈوکر ڈویلپرز کے لیے ایپلی کیشنز کو تقسیم کرنا آسان بناتا ہے تاکہ آپ انہیں کسی بھی لینکس سسٹم پر چلا سکیں۔ یہ ایپلی کیشنز ڈاکر ہب پر تصویر کی شکل میں دیکھی جا سکتی ہیں۔ ایسی تصویر بنیادی طور پر کم سے کم لینکس سسٹم کے لیے ایک ٹیمپلیٹ ہوتی ہے، جسے آپ ایک کنٹینر کی شکل میں Raspbian کے اوپر چلا سکتے ہیں۔
ہر کنٹینر دوسرے کنٹینرز سے مکمل طور پر الگ تھلگ ہے۔ لہذا ایک کنٹینر میں موجود ایپلیکیشن دوسرے کنٹینرز میں موجود ایپلی کیشنز کو نہیں دیکھتی ہے۔ اور ایک کنٹینر کو انسٹال اور اپ ڈیٹ کرنا اس بات کو یقینی بناتا ہے کہ نیا ورژن دوسرے کنٹینرز میں موجود ایپلیکیشنز سے متصادم نہیں ہے۔ لہذا اگر آپ اپنے Raspberry Pi پر مٹھی بھر ایپلی کیشنز کو چلانا چاہتے ہیں، تو Docker آپ کو قابل اعتماد طریقے سے ایسا کرنے میں مدد کرے گا۔ Docker کا شکریہ، آپ نئے سافٹ ویئر کے ساتھ بھی محفوظ طریقے سے تجربہ کر سکتے ہیں: آپ کو یہ پسند نہیں ہے، بس بعد میں کنٹینر کو حذف کر دیں۔
02 ڈوکر انسٹال کریں۔
ہم فرض کرتے ہیں کہ آپ نے Raspbian انسٹال کیا ہے، لائٹ ورژن کافی ہوگا۔ پھر اس بنیادی کورس میں کمانڈز کو انجام دینے کے لیے ssh کے ذریعے لاگ ان کریں۔ سب سے پہلے، کمانڈ کے ساتھ ڈوکر انسٹال کریں:
curl -sSL //get.docker.com | ایسیچ
پھر صارف کو دیں۔ pi (جس کے ساتھ آپ لاگ ان ہیں) Docker تک رسائی، لہذا آپ تمام Docker کمانڈز کو کمانڈ کے ساتھ نہیں چلاتے sudo انجام دینا چاہیے:
sudo usermod pi -aG ڈاکر
باہر نکلنے کے ساتھ لاگ آؤٹ کریں اور پھر دوبارہ لاگ ان کریں۔ اب صارف کا تعلق ہے۔ pi گروپ کو ڈاکر.
03 ہیلو ورلڈ
اب آپ کو پہلا ڈوکر کنٹینر بوٹ کرنے کے قابل ہونا چاہئے:
docker run --rm ہیلو ورلڈ
یہ کمانڈ ڈوکر کنٹینر ہیلو ورلڈ کو چلائے گی۔ یہ کنٹینر اپنے آؤٹ پٹ میں دکھاتا ہے کہ بالکل کیا ہوتا ہے: تصویر آپ کے Raspberry Pi پر نہیں ملتی ہے اور پھر اسے Docker کے ذریعے Docker Hub سے ڈاؤن لوڈ کیا جاتا ہے۔ پھر ڈوکر اس تصویر کی بنیاد پر ایک کنٹینر بناتا ہے اور اس میں پروگرام چلاتا ہے۔ اختیار کے مطابق --rm پروگرام بند ہونے کے بعد کنٹینر کو صاف کیا جاتا ہے۔ اب آپ جانتے ہیں کہ ڈوکر صحیح طریقے سے انسٹال اور کام کر رہا ہے۔
ہائپریوٹ
ہم اس بنیادی ٹیوٹوریل میں Raspbian پر Docker کو آسانی سے انسٹال کریں گے، لیکن اگر آپ Raspberry Pi پر Docker میں دلچسپی رکھتے ہیں تو دوسرے آپریٹنگ سسٹم بھی ممکن ہیں۔ مثال کے طور پر، Hypriot ہے: Raspberry Pi کے لیے ایک آپریٹنگ سسٹم جو Docker استعمال کرنے کے لیے موزوں ہے۔ اس کے بعد آپ کو اس تصویر کو اپنے Raspberry Pi کے مائیکرو-SD کارڈ پر انسٹال کرنا ہوگا اور آپ فوری طور پر Docker کا استعمال شروع کر سکتے ہیں۔ Hypriot خاص طور پر دلچسپ ہے اگر آپ صرف اپنے Raspberry Pi پر Docker کنٹینرز چلا رہے ہیں اور کچھ نہیں۔
04 کنٹینرز بنائیں
ڈوکر کنٹینرز کے ساتھ کام کرنے کی بنیادی باتیں کمانڈ کے ساتھ کی جاتی ہیں۔ ڈاکرجیسا کہ ہم نے پچھلے مرحلے میں دکھایا۔ عام طور پر ڈوکر کے ساتھ آپ کنٹینر نہیں چلانا چاہتے اور اسے فوری طور پر بند کرنا چاہتے ہیں، لیکن اسے چلنے دیں۔ لہذا ہم آپشن کا استعمال نہیں کرتے ہیں --rm. اس کے علاوہ، آپ چاہتے ہیں کہ وہ کنٹینر پس منظر میں چلے، بغیر اسکرین پر ہر وقت آؤٹ پٹ دیکھے۔ آپشن -d.
اگر آپ اس طرح سے کنٹینر شروع کرتے ہیں، تو Docker اسے ایک بے ترتیب نام دے گا، جو مفید نہیں ہے اگر آپ کے پاس مٹھی بھر کنٹینرز ہوں۔ اختیار کے ساتھ --نام NAME اس لیے آپ کنٹینر کو ایک مقررہ نام دیں۔
پھر آپ کو نیٹ ورک کنکشن کو بھی دیکھنا ہوگا۔ چونکہ ہر ڈوکر کنٹینر الگ تھلگ ہے، آپ صرف مثال کے طور پر کسی کنٹینر میں پورٹ 80 پر چلنے والے ویب سرور تک رسائی حاصل نہیں کرسکتے ہیں۔ لہذا، آپ کو Docker کو Raspberry Pi پر پورٹ 8888 پر ہر درخواست کو آگے بھیجنے کی ہدایت کرنی ہوگی، مثال کے طور پر، ایک مخصوص کنٹینر میں پورٹ 80 پر۔ آپ یہ آپشن کے ساتھ کرتے ہیں۔ صفحہ 8888:80. نمونہ کنٹینر کنٹینر/whoami کے لیے ان تمام اختیارات کو ایک ساتھ رکھ کر، درج ذیل کمانڈ کو چلائیں:
docker run -d --name whoami -p 8888:80 پر مشتمل/whoami
اگر سب کچھ ٹھیک رہا تو تھوڑی دیر کے بعد آپ کو ہیکسا ڈیسیمل نمبرز کی ایک لمبی تار نظر آئے گی (جیسے 5122c935ce5178751a59699d2c5605c607700bd04e5f57a6c18de434ae53956e)۔ یہ کنٹینر کی ID ہے۔ اگر آپ اب اپنے ویب براؤزر میں سرف کرتے ہیں۔ //IP:8888 کے بجائے آئی پی آپ کے Raspberry Pi کا IP ایڈریس، آپ کو ایک ویب صفحہ نظر آئے گا جو کنٹینر میں ویب سرور کے ذریعے تیار کیا گیا ہے۔
05 اپنے کنٹینرز دیکھیں
ایک بار جب آپ اس طرح کے چند کنٹینرز شروع کر دیتے ہیں، تو انتظام اہم ہونا شروع ہو جاتا ہے۔ سب سے پہلے، یہ دیکھنا مفید ہے کہ کون سے کنٹینر چل رہے ہیں:
ڈاکر پی ایس
اس کے بعد آپ ان تمام کنٹینرز کے بارے میں معلومات دیکھیں گے جو فعال ہیں (آپشن کے ساتھ -a بشمول کنٹینرز جو رک گئے ہیں)۔ پہلے کالم میں ہر کنٹینر کے لیے ایک منفرد ID ہوتی ہے، اس کے آگے وہ تصویر ہوتی ہے جس سے کنٹینر بنایا گیا تھا۔ کالم حالت اگر آپ کو پریشانی ہو تو بہتر ہے۔ مثال کے طور پر، اگر آپ کا کنٹینر کسی مسئلے کی وجہ سے دوبارہ شروع ہوتا رہتا ہے، تو آپ اسے یہاں دیکھیں گے۔
کالم میں پورٹس آپ استعمال شدہ بندرگاہوں کو دیکھتے ہیں۔ مثال کے طور پر ہمارے کنٹینر کے سامنے whoami ہے۔ 0.0.0.0:8888->80/tcp. اس کا مطلب ہے کہ Raspberry Pi پر tcp پورٹ 8888 کو کنٹینر پر tcp پورٹ 80 پر بھیج دیا جائے گا۔ آخری کالم میں آپ کو کنٹینر کا نام نظر آتا ہے، جسے آپ مزید Docker کمانڈز میں استعمال کر سکتے ہیں۔
اگر آپ مزید معلومات چاہتے ہیں، کمانڈ آتا ہے ڈاکر کے اعدادوشمار مفید اس کے بعد آپ ہر کنٹینر کے اعدادوشمار دیکھیں گے، جیسے پروسیسر، میموری اور نیٹ ورک کی کھپت۔ اگر آپ چاہتے ہیں کہ وہ تمام معلومات جو ڈاکر کو کسی مخصوص کنٹینر کے بارے میں معلوم ہو تو اس کمانڈ کو کنٹینر کی ID یا نام کے ساتھ چلائیں:
ڈاکر کنٹینر کا معائنہ کرتا ہے۔
اور آخر میں، اگر آپ کنٹینر کے لاگز دیکھنا چاہتے ہیں، تو ان دو کمانڈز میں سے ایک کو چلائیں:
ڈاکر لاگز کنٹینر
ڈاکر لاگز -f کنٹینر
اختیار کے ساتھ -f لاگز کو ریئل ٹائم میں فالو کریں کیونکہ کنٹینر انہیں تیار کرتا ہے۔
06 اپنے کنٹینرز اور تصاویر کا نظم کریں۔
اگر آپ کسی کنٹینر کو روکنا، شروع کرنا یا دوبارہ شروع کرنا چاہتے ہیں جو چل رہا ہے، تو آپ بالترتیب ان کمانڈز کے ساتھ اتنی آسانی سے کر سکتے ہیں:
ڈاکر سٹاپ کنٹینر
ڈاکر لانچ کنٹینر
ڈوکر دوبارہ شروع کرنے والا کنٹینر
اگر آپ کسی کنٹینر کو عارضی طور پر روکنا چاہتے ہیں (اس میں موجود تمام پروگرام عارضی طور پر 'منجمد' ہوں گے)، تو یہ کمانڈ چلائیں:
ڈاکر توقف کنٹینر
اس کمانڈ کے بعد، کنٹینر میں تمام پروگرام دوبارہ چلیں گے:
ڈاکر غیر توقف کنٹینر
حکم کے ساتھ ڈاکر کی تصاویر آپ ان تصاویر کی فہرست دیکھیں گے جو ڈوکر نے ڈاؤن لوڈ کی ہیں۔ ہمارے whoami کنٹینر کے لیے کالم میں دیکھیں ذخیرہ متن مشتمل/whoami کھڑے اور کالم میں TAG کھڑا ہے تازہ ترین. تصویر کا پورا نام ہوگا۔ پر مشتمل/whoami: تازہ ترین ہیں، لیکن وہ تازہ ترین ٹیگ کے لیے پہلے سے طے شدہ قدر ہے، اس لیے اسے چھوڑا جا سکتا ہے۔ اسی لیے، سیکشن 4 میں اپنی تفویض میں، ہم ڈاکر رن بس مشتمل/whoami ایک تصویر کے طور پر.
کالم میں تخلیق دیکھیں یہ تصویر کتنی دیر پہلے ڈاؤن لوڈ کی گئی تھی۔ اس تصویر کو اپ ڈیٹ کرنے کے لیے درج ذیل کمانڈ کو چلائیں:
ڈوکر پل پر مشتمل/whoami: تازہ ترین
ڈاکر پھر تصویر کا تازہ ترین ورژن ڈاؤن لوڈ کرتا ہے یا آپ کو بتاتا ہے کہ تصویر تازہ ترین ہے۔ اگر آپ اس کے بعد دوبارہ کرتے ہیں۔ ڈاکر کی تصاویر آپ دیکھیں گے کہ ایک تصویر شامل کی گئی ہے۔
لیکن موجودہ whoami کنٹینر اب بھی پرانی تصویر استعمال کرتا ہے۔ اسے اپ گریڈ کرنے کے لیے، روکیں (ڈاکر سٹاپ whoami) اور حذف کریں (docker rm wohami) آپ کنٹینر بناتے ہیں، اور سیکشن 4 سے ڈوکر رن کمانڈ کا استعمال کرتے ہوئے کنٹینر کو دوبارہ بناتے ہیں۔
صفائی کرنا
اگر آپ کنٹینر میں تازہ ترین ورژن چلانے کے لیے اپنی ڈوکر امیجز کو باقاعدگی سے اپ ڈیٹ کرتے ہیں تو پرانی تصاویر باقی رہیں گی۔ آپ کے Raspberry Pi کا مائیکرو SD کارڈ زیادہ سے زیادہ چند دس گیگا بائٹس کی صلاحیت کے ساتھ تیزی سے بھر سکتا ہے، خاص طور پر اگر آپ بڑے کنٹینرز چلاتے ہیں۔ مثال کے طور پر، ہوم اسسٹنٹ اور Rhasspy جیسے کنٹینرز کا سائز ایک گیگا بائٹ سے زیادہ ہے۔ اب ڈوکر ایک سسٹم کے ساتھ کام کرتا ہے تاکہ اپ ڈیٹ کے ساتھ مکمل گیگا بائٹ ڈاؤن لوڈ کرکے دوبارہ اسٹور نہ کیا جائے، لیکن کئی اپ ڈیٹس کے بعد مطلوبہ اسٹوریج میں اضافہ ہوتا رہتا ہے۔ حکم کے ساتھ docker rmi IMAGE_ID آئی ڈی کی بنیاد پر ایک تصویر کو حذف کریں جو آپ کمانڈ کے آؤٹ پٹ میں بتاتے ہیں۔ ڈاکر کی تصاویر ڈھونڈتا ہے ڈوکر بھی کمانڈ جانتا ہے۔ docker تصویر کی کٹائی جو تمام تصاویر کو ہٹاتا ہے جو کنٹینر کے ذریعہ استعمال نہیں ہوتی ہیں۔ کی docker نظام کی کٹائی رکے ہوئے کنٹینرز، کم از کم ایک کنٹینر کے ذریعے استعمال نہ ہونے والے نیٹ ورک، اور کیش فائلوں کو بھی ہٹا دیں۔
07 والیوم
ہمارے مثال کنٹینر whoami نے کوئی کنفیگریشن ڈیٹا یا ڈیٹا استعمال نہیں کیا۔ لیکن آپ اپنے Raspberry Pi پر ایک ڈائرکٹری کو Docker کنٹینر کے ساتھ شیئر کر سکتے ہیں تاکہ وہ اس سے ڈیٹا تک رسائی حاصل کر سکے۔ ڈوکر ایسی مشترکہ ڈائریکٹری کو حجم کہتے ہیں۔
اگر آپ اپنے Raspberry Pi پر ایک سے زیادہ کنٹینرز کے ساتھ کام کرنے جا رہے ہیں، تو یہ تجویز کی جاتی ہے کہ آپ ان کی ڈائریکٹریز کو ایک ساتھ رکھیں۔ اس کے لیے ایک ڈائرکٹری بنائیں، مثال کے طور پر:
mkdir -p /home/pi/containers/nginx/data
پھر فولڈر میں رکھیں کنٹینرز/nginx/ڈیٹا ایک فائل index.html html صفحہ کے ساتھ۔
پھر اب آپ nginx (ایک ویب سرور) کے ساتھ ایک کنٹینر شروع کر سکتے ہیں جس کے ساتھ آپ اس ڈائریکٹری کو شیئر کرتے ہیں:
docker run -d --name nginx -p 8080:80 -v /home/pi/containers/nginx/data:/usr/share/nginx/html:ro nginx
پھر کنٹینر ویب سرور کے ساتھ شروع ہوتا ہے اور ڈائریکٹری کو ماؤنٹ کرتا ہے۔ /home/pi/containers/nging/data مقام پر کنٹینر میں آپ کے Raspberry Pi پر /usr/share/nginx/htmlصرف پڑھنے کی اجازت کے ساتھ (ro صرف پڑھنے کے لیے کھڑا ہے)۔ اگر آپ ابھی سرف کرتے ہیں۔ IP: 8080 کیا آپ کو html فائل ملتی ہے؟ index.html دیکھنے کے لیے
08 ڈوکر کمپوز
اب تک ہم نے کمانڈ کے ساتھ ڈوکر کنٹینرز کو دستی طور پر شروع کیا ہے۔ ڈاکر رن. لیکن اگر آپ کچھ اور ڈوکر کنٹینرز چلا رہے ہیں اور ان کی ترتیب کو باقاعدگی سے تبدیل کرنا چاہتے ہیں تو، ایک مختلف نقطہ نظر بہتر ہے: ہر چیز کو ایک کنفیگریشن فائل میں رکھنا۔ یہ ڈوکر کمپوز کے ساتھ جاتا ہے۔
ایسا کرنے کے لیے، پہلے پائتھون کا پیکیج مینیجر پائپ انسٹال کریں اور پھر ڈوکر کمپوز (جو کہ ایک ازگر کا پروگرام ہے) ان کمانڈز کے ساتھ:
sudo apt python3-pip انسٹال کریں۔
sudo pip3 ڈوکر کمپوز انسٹال کریں۔
اب آپ ایک فائل میں متعدد ڈوکر کنٹینرز کو تشکیل دے سکتے ہیں۔ docker-compose.yml بنانا. ایسا کرنے کے لیے، اس کے ساتھ ایک ڈاکر کمپوز فائل بنائیں:
nano docker-compose.yml
ہمارے مثال کے کنٹینرز whoami اور nginx کے لیے مندرجہ ذیل کنفیگریشن ڈالیں:
ورژن: '3.7'
خدمات:
میں کون ہوں:
تصویر: مشتمل/whoami
کنٹینر_نام: whoami
دوبارہ شروع کریں: ہمیشہ
بندرگاہ:
- 8888:80
nginx:
تصویر: nginx
کنٹینر_نام: nginx
دوبارہ شروع کریں: ہمیشہ
بندرگاہ:
- 8080:80
حجم:
- /home/pi/containers/nginx/data:/usr/share/nginx/html:ro
09 YAML
فائل کو Ctrl+O کے ساتھ محفوظ کریں اور Ctrl+X کے ساتھ نینو سے باہر نکلیں۔ یہ ایک YAML فائل ہے (توسیع .yml کے ساتھ)۔ YAML (دوبارہ آنے والا مخفف "YAML Ain't Markup Language") ایک فائل فارمیٹ ہے جو پڑھنے کے قابل طریقے سے کنفیگریشن ڈیٹا کی وضاحت کرتا ہے۔ مزید معلومات سرکاری ویب سائٹ پر مل سکتی ہیں۔
آپ اس فائل میں دیکھ سکتے ہیں کہ ہم دو کنٹینرز کو خدمات کے طور پر بیان کرتے ہیں۔ ہر کنٹینر کے لیے ہم استعمال کی گئی تصویر کی وضاحت کرتے ہیں، کنٹینر کو وہ نام دیا جانا چاہیے اور کیا مسائل کی صورت میں کنٹینر کو خود بخود دوبارہ شروع ہونا چاہیے۔ اس کے علاوہ، ہم ری ڈائریکٹ شدہ بندرگاہوں اور حجم کی بھی وضاحت کرتے ہیں۔
آپ یہ تمام معلومات کمانڈ لائنز پر بھی حاصل کر سکتے ہیں۔ ڈاکر رن، لیکن اس ڈوکر کمپوز فائل میں یہ قدرے زیادہ منظم ہے۔
10 ڈوکر کمپوز کے ساتھ کام کرنا
ایک بار جب آپ کے پاس فائل ہے۔ docker-compose.yml آپ آسانی سے اس میں بیان کردہ کنٹینرز بنا اور چلا سکتے ہیں:
docker-compose up -d
اس کے بعد آپ ڈوکر کمانڈ کے ساتھ ان کنٹینرز کا نظم کر سکتے ہیں، لیکن خود docker-compose کے پاس بھی خاص طور پر کنٹینرز کو منظم کرنے کے لیے بہت سارے اختیارات ہیں جو آپ نے Docker Compose کے ساتھ بنائے ہیں۔ اس طرح آپ مندرجہ ذیل کمانڈ کے ساتھ ہر چیز کو صاف کرتے ہیں، تمام متعین کنٹینرز کو روک دیا جائے گا اور حذف کر دیا جائے گا:
docker تحریر نیچے
آپ تمام کنٹینرز کے لاگز کو اس کے ساتھ بھی فالو کر سکتے ہیں:
docker-compose logs -f
ہر کنٹینر اپنے لاگ پیغامات کو مختلف رنگ میں دکھاتا ہے۔ ڈوکر کمپوز میں تمام کنٹینرز کو روکنے، شروع کرنے اور دوبارہ شروع کرنے کے لیے ایک مانوس دھن بھی ہے:
ڈاکر کمپوز اسٹاپ
docker تحریر شروع
ڈوکر کمپوز دوبارہ شروع کریں۔
درج ذیل دو کمانڈز کے ساتھ اپنی ڈوکر کمپوز فائل میں موجود تمام کنٹینرز کو اپ ڈیٹ کریں:
ڈوکر کمپوز پل
ڈوکر کمپوز دوبارہ شروع کریں۔
پہلی کمانڈ آپ کے بیان کردہ تمام کنٹینرز کے لیے نئی تصاویر ڈاؤن لوڈ کرے گی اور دوسری کمانڈ ان تمام کنٹینرز کو ریبوٹ کرے گی تاکہ وہ نئی امیج استعمال کریں۔ اس کے بعد اگر آپ چاہیں تو پرانی تصاویر کو حذف کر سکتے ہیں:
docker تصویر کی کٹائی
11 اور اس سے آگے
آپ کو Docker Hub پر بہت سی ایپلی کیشنز کی Docker امیجز مل سکتی ہیں۔ LinuxServer.io پر آپ کو رضاکاروں کے زیر انتظام درجنوں ڈاکر تصاویر بھی ملیں گی۔ یہ تصاویر اچھی طرح سے برقرار اور دستاویزی ہیں، اور یہ سب ایک ہی نقطہ نظر اور بنیادی انفراسٹرکچر کا استعمال کرتے ہیں۔
اپنے آپ کو 'آفیشل' ڈاکر امیجز تک محدود رکھنے کی کوشش کریں، جو خود کسی پروجیکٹ کے ذریعے فراہم کی جاتی ہیں، یا قابل اعتماد پارٹیوں کی تصاویر جیسے LinuxServer.io۔ کیونکہ اصولی طور پر کوئی بھی ڈاکر کی تصاویر کو Docker Hub پر شائع کر سکتا ہے، لیکن انہیں ہمیشہ اپ ٹو ڈیٹ نہیں رکھا جاتا۔
صحیح پروسیسر فن تعمیر
یہ ضروری ہے کہ آپ درست پروسیسر کے فن تعمیر کے لیے Docker امیجز ڈاؤن لوڈ کریں۔ Raspberry Pi میں ARM پروسیسر ہے، جو PCs میں پائے جانے والے Intel یا AMD پروسیسرز کے ساتھ مطابقت نہیں رکھتا ہے۔ آپ کے پروسیسر کے فن تعمیر کے لیے خود بخود درست ورژن ڈاؤن لوڈ کرنے کے لیے بہت ساری Docker تصاویر شائع کی جاتی ہیں۔ Docker Hub پر، آپ کو معلوم ہوگا کہ مطلوبہ ڈاکر امیج پیج کے نیچے کون سے فن تعمیرات سپورٹ ہیں۔ Raspbian کے لیے جو arm32v7، arm/v7 یا armhf ہے۔ اگر آپ کو ڈوکر کنٹینر شروع کرتے وقت غلطی کا پیغام ملتا ہے: exec فارمیٹ کی خرابی آپ نے شاید غلط پروسیسر فن تعمیر کی تصویر ڈاؤن لوڈ کی ہے۔ اگر ایسا ہوتا ہے تو، آپ کو ایک مختلف ٹیگ والی تصویر ڈاؤن لوڈ کرنے کی ضرورت ہوگی۔ مثال کے طور پر، motionEye پروجیکٹ اپنی آفیشل ڈوکر امیج کو دو ممکنہ ٹیگز کے ساتھ تقسیم کرتا ہے: آپ چلاتے ہیں۔ ccrisan/motioneye:master-amd64 انٹیل کے موافق پروسیسرز پر اور ccrisan/motioneye:master-armhf راسبیری پائی پر۔