درست کریں: ڈوکر ڈیمون سے رابطہ قائم نہیں کرسکتے ہیں



مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں

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



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



طریقہ 1: ڈاکر سروس کی حیثیت کی جانچ ہو رہی ہے

اگرچہ یہ یقینی طور پر ہے ، آپ کو یہ چیک کرنے کی ضرورت ہوگی کہ فی الحال ڈوکر سروس چل رہی ہے یا نہیں۔ ٹرمینل ونڈو پر ، چلائیں systemctl حیثیت docker.service ایک عام صارف کے طور پر آپ کو کچھ معلومات حاصل کرنی چاہ should جس کے بارے میں PID نمبر Docker's daemon تفویض ہوا ہے۔ اگر آپ ایسا نہیں کرتے ہیں تو پھر آپ کو سروس دوبارہ شروع کرنے کی ضرورت ہوگی۔



اگر آپ اسے دوبارہ شروع کردیتے ہیں تو ، جو کچھ بھی تھا اس کو کرنے کی کوشش کریں جس نے آپ کو 'ڈوکر ڈیمون سے متصل نہیں کرسکتے' کی غلطی پھینک دی۔ اگر یہ اب کام کرتا ہے تو پھر آپ کے پاس خدمت چلانے کی ضرورت نہیں ہے اور اس کے چلانے کی وجہ کے علاوہ کسی اور چیز کے بارے میں واقعتا really پریشان ہونے کی ضرورت نہیں ہے۔ بدقسمتی سے ، یہ اکثریت کے معاملات میں کام نہیں کرتا ہے لہذا آپ کو ان حالات میں آگے بڑھنے کی ضرورت ہوگی۔

طریقہ 2: صارفین کو ڈاکر گروپ میں شامل کرنا

رن ڈوکر کی معلومات کمانڈ لائن سے ، جو عام طور پر آپ کو ایک بار پھر 'ڈوکر ڈیمون سے رابطہ قائم نہیں کرسکتا' کی غلطی دے گا۔

اگر یہ معاملہ ہے تو آپ کو چلانے کی ضرورت ہوگی sudo groupadd docker؛ sudo usermod -aG docker $ صارف اپنے آپ کو مناسب گروپ میں شامل کریں۔ کیا اس میں کوئی غلطی ہوجائے کیوں کہ آپ کے پاس صارف استعمال نہیں ہے ، پھر آپ اس کمانڈ میں ترمیم کرسکتے ہیں جیسے چلائیں sudo groupadd docker؛ sudo gpasswd -a $ صارف ڈاکر ، لیکن عام طور پر یہ مسئلہ نہیں ہونا چاہئے کیونکہ زیادہ تر تجارتی-گریڈ لینکس تقسیم اسی ٹولز کے ساتھ کام کر رہی ہے۔ بہرحال چلائیں newgrp ڈوکر لہذا اگر آپ پہلے سے ہی نہیں ہیں تو آپ نئے ڈوکر گروپ میں لاگ ان ہو سکتے ہیں۔



ذہن میں رکھنا یہ اس صارف کو ہمیشہ شامل کرے گا جس کے طور پر آپ فی الحال لاگ ان ہیں ، جو زیادہ تر لوگوں کے سسٹم پر زیادہ مسئلہ نہیں ہونا چاہئے جن کے پاس ایک صارف اور روٹ اکاؤنٹ سے زیادہ متعدد اکاؤنٹس نہیں ہیں۔ چونکہ آپ کے پاس ابھی تک انتظامی رسائی ہے ، چلائیں sudo chgrp docker / usr / bin docker؛ sudo chgrp docker /var/run/docker.sock ڈکر ساکٹ اور کمانڈ پر اجازتیں ٹھیک کرنے کے ل.۔ عام طور پر ، ساکٹ فائل صرف جڑ کے صارف کی ہوتی ہے لہذا اس سے یہ درست ہوجائے گا۔

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

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

طریقہ 3: ڈوکر میٹا ڈیٹا میں ترمیم کرنے کے لئے ACLs کا استعمال

اگر آپ کسی ایسے گروہ سے تعلق نہیں رکھنا چاہتے جو آپ کو روٹ صارف کی طرح بنائے ، تو آپ ساکٹ فائل کو صرف کچھ مخصوص اجازت کے ساتھ کام کرنے کے لئے ترتیب دے سکتے ہیں۔ اگر آپ اس طرح اس کو ترجیح دیتے ہیں تو آپ gpasswd عمل کو نظر انداز کر سکتے ہیں۔ سیکیورٹی آڈٹ کرنے والوں کے لئے بوجھ میں مختلف ACL اندراجات کے ل file فائل سسٹم اسکین کرنا ، لیکن یہ آپ کو ڈوکر گروپ کو مکمل طور پر استعمال کرنے سے روکتا ہے۔

کیا آپ اس طرح کرنا چاہتے ہیں ، پھر آپ دوڑ سکتے ہیں sudo setfacl -m صارف: نام: rw /var/run/docker.sock جبکہ صارف اور نام کی جگہ مناسب لیبل لگائیں۔ یہ /var/run/docker.sock پر ڈوکر ساکٹ تک رسائی کی اجازت دیتا ہے ، جس میں دبیان اور اوبنٹو سرور کے ساتھ کام کرنا چاہئے۔

3 منٹ پڑھا