Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Linux

'डॉकर डेमॉन से कनेक्ट नहीं हो सकता' त्रुटि का त्वरित समाधान करें

<पी> कभी डॉकर चलाने की कोशिश की और अचानक "डॉकर डेमॉन से कनेक्ट नहीं हो सका" का सामना करना पड़ा “त्रुटि? यह सबसे निराशाजनक मुद्दों में से एक है जो आपको शुरू करने से पहले ही रोक सकता है। डॉकर डेमॉन पृष्ठभूमि में चुपचाप चलता है, जो कंटेनरों को शुरू करने और रोकने से लेकर छवियों को प्रबंधित करने, परतों के निर्माण और आपके सभी डॉकर कमांड जैसे docker run को संसाधित करने तक सब कुछ संभालता है। , docker ps , आदि। यदि आपका टर्मिनल उस तक नहीं पहुंच सकता है, तो कुछ भी काम नहीं करता है।  <पी> इस गाइड में, मैं समझाऊंगा कि यह त्रुटि क्यों होती है और आपको डॉकर को फिर से सुचारू रूप से चलाने के लिए सरल, व्यावहारिक समाधान दिखाऊंगा।

<पी> सामग्री तालिका

यह समझना कि डॉकर डेमन क्या करता है

<पी> डॉकर डेमॉन (डॉकरड) एक पृष्ठभूमि सेवा है जो कंटेनर, छवियों, नेटवर्किंग और भंडारण के प्रबंधन के लिए जिम्मेदार है। जब आप डॉकर कमांड चलाते हैं, तो सीएलआई इन कार्यों को स्वयं नहीं करता है; इसके बजाय, यह डेमॉन को अनुरोध भेजता है। लिनक्स सिस्टम पर, यह संचार "/var/run/docker.sock" पर स्थित यूनिक्स सॉकेट के माध्यम से होता है। डॉकर डेस्कटॉप या डब्लूएसएल वातावरण पर, सीएलआई वर्चुअल मशीन द्वारा प्रबंधित नामित पाइप या सॉकेट के माध्यम से डेमॉन के साथ संचार करता है।

<पी> यदि सीएलआई डेमॉन के साथ संचार नहीं कर सकता है, तो आपको "यूनिक्स:///var/run/docker.sock पर डॉकर डेमॉन से कनेक्ट नहीं किया जा सकता है। क्या डॉकर डेमॉन चल रहा है? जैसी त्रुटियां मिलती हैं।" “.  डॉकर डेमॉन से कनेक्ट नहीं हो सकता  त्रुटि का त्वरित समाधान करें <पी> यह अक्सर इनमें से किसी एक कारण से होता है:

  • डॉकर सेवा नहीं चल रही है।
  • आपके उपयोगकर्ता के पास डॉकर सॉकेट तक पहुंचने की अनुमति नहीं है।
  • डॉकर गलत संदर्भ का उपयोग कर रहा है।
  • डॉकर सॉकेट गायब है या गलत अनुमतियाँ हैं।
  • पर्यावरण चर जैसे DOCKER_HOST ग़लत कॉन्फ़िगर किया गया है.
  • प्लेटफ़ॉर्म-विशिष्ट मुद्दे (डॉकर डेस्कटॉप, डब्लूएसएल, या रिमोट डेमॉन)।
<पी> इस संचार श्रृंखला का कौन सा हिस्सा टूटा हुआ है, इसकी पहचान करना समस्या को सही ढंग से ठीक करने की कुंजी है।

अपनी उपयोगकर्ता अनुमतियाँ जांचें

<पी> लिनक्स सिस्टम पर, डॉकर एक यूनिक्स सॉकेट के माध्यम से संचार करता है जो रूट उपयोगकर्ता के स्वामित्व में होता है। sudo के बिना इसे एक्सेस करने में सक्षम होने के लिए उपयोगकर्ताओं को डॉकर समूह से संबंधित होना चाहिए .

<पी> सॉकेट अनुमतियों को सत्यापित करने के लिए, निम्न आदेश चलाएँ:

ls -l /var/run/docker.sock
 डॉकर डेमॉन से कनेक्ट नहीं हो सकता  त्रुटि का त्वरित समाधान करें <पी> यह आउटपुट हमें बताता है कि सॉकेट का स्वामित्व रूट के पास है, और केवल डॉकर समूह से संबंधित उपयोगकर्ताओं को ही इसे पढ़ने या लिखने की अनुमति है। यदि आपका उपयोगकर्ता खाता इस समूह का हिस्सा नहीं है, तो डॉकर पहुंच से इनकार कर देगा और कमांड निष्पादित करने में विफल रहेगा। इस समस्या को ठीक करने के लिए, आपको अपने उपयोगकर्ता को डॉकर समूह में जोड़ना होगा:

sudo usermod -aG docker $USER
<पी> यदि डॉकर समूह मौजूद नहीं है, तो आप इसे निम्नलिखित कमांड का उपयोग करके बना सकते हैं:

sudo groupadd docker

सत्यापित करें कि डॉकर सेवा चल रही है

<पी> एक और बहुत ही सरल लेकिन महत्वपूर्ण मुद्दा यह है कि डॉकर बिल्कुल भी नहीं चल रहा होगा। यदि डॉकर डेमॉन को रोक दिया जाता है, तो डॉकर सीएलआई के पास कनेक्ट करने के लिए कुछ भी नहीं है, जिसके परिणामस्वरूप कथित त्रुटि होती है। डॉकर सेवा की वर्तमान स्थिति की जाँच करने के लिए, निम्नलिखित कमांड चलाएँ:

systemctl status docker
<पी> हमारे मामले में, डॉकर सक्रिय है और सफलतापूर्वक चल रहा है। हालाँकि, यदि आउटपुट निष्क्रिय (मृत) या विफल जैसी स्थिति दिखाता है, तो इसका मतलब है कि डॉकर सेवा नहीं चल रही है।

 डॉकर डेमॉन से कनेक्ट नहीं हो सकता  त्रुटि का त्वरित समाधान करें <पी> डॉकर को मैन्युअल रूप से प्रारंभ करने के लिए, आप यह कमांड चला सकते हैं:

sudo systemctl start docker
<पी> यदि आप चाहते हैं कि जब भी आपका सिस्टम बूट हो तो डॉकर स्वचालित रूप से प्रारंभ हो जाए, तो निम्न कमांड का उपयोग करके इसे सक्षम करें:

sudo systemctl enable docker

डॉकर डेमॉन को मैन्युअल रूप से प्रारंभ करें (dockerd)

<पी> न्यूनतम सर्वर या कस्टम लिनक्स सेटअप पर, डॉकर को सिस्टमडी द्वारा प्रबंधित नहीं किया जा सकता है। इन वातावरणों में, डॉकर स्थापित होने के बावजूद, डॉकर डेमॉन स्वचालित रूप से प्रारंभ नहीं हो सकता है। यह जांचने के लिए कि क्या डेमॉन प्रारंभ हो सकता है, इसे मैन्युअल रूप से चलाने का प्रयास करें:

sudo dockerd
<पी> आउटपुट की सावधानीपूर्वक निगरानी करें. यदि कुछ गलत होता है, तो डॉकर आमतौर पर समस्या को समझाते हुए एक स्पष्ट त्रुटि संदेश प्रिंट करता है, जैसे स्टोरेज ड्राइवर समस्या, अनुमति त्रुटि, या नेटवर्क संघर्ष।

डॉकर यूनिक्स सॉकेट का निरीक्षण करें और उसे ठीक करें

<पी> डॉकर सीएलआई यूनिक्स सॉकेट का उपयोग करके डॉकर डेमॉन के साथ इंटरैक्ट करता है। यदि यह सॉकेट गुम है, दूषित है, या गलत अनुमतियाँ हैं, तो डॉकर कनेक्ट नहीं हो सकता है। आप निम्न कमांड का उपयोग करके जांच सकते हैं कि सॉकेट मौजूद है या नहीं:

ls /var/run/docker.sock
 डॉकर डेमॉन से कनेक्ट नहीं हो सकता  त्रुटि का त्वरित समाधान करें <पी> यदि फ़ाइल गुम है, तो इसका आमतौर पर मतलब है कि डॉकर डेमॉन नहीं चल रहा है, या डॉकर स्टार्टअप के दौरान सॉकेट बनाने में विफल रहा है। उस स्थिति में, आपको इसे फिर से बनाने के लिए डॉकर को पुनरारंभ करना होगा:

sudo systemctl restart docker
<पी> यदि सॉकेट मौजूद है लेकिन गलत अनुमतियाँ हैं, तो निम्न आदेशों का उपयोग करके उन्हें ठीक करें:

sudo chown root:docker /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock
 डॉकर डेमॉन से कनेक्ट नहीं हो सकता  त्रुटि का त्वरित समाधान करें

डॉकर संदर्भ और पर्यावरण चर सत्यापित करें

<पी> कभी-कभी डॉकर डेमॉन से कनेक्ट नहीं हो पाता क्योंकि यह गलत समापन बिंदु की ओर इशारा करता है। ऐसा तब हो सकता है जब आपका DOCKER_HOST पर्यावरण चर गलत तरीके से सेट किया गया है या यदि आपका सक्रिय डॉकर संदर्भ किसी दूरस्थ या अनुपलब्ध वातावरण की ओर इशारा करता है।

पर्यावरण चर की जाँच करें

<पी> यह देखने के लिए कि क्या कोई डॉकर-संबंधित पर्यावरण चर सेट है, निम्न कमांड चलाएँ:

env | grep DOCKER
<पी> यदि आपको DOCKER_HOST=tcp://localhost:2375 जैसा कुछ दिखाई देता है , इसका मतलब है कि डॉकर एक दूरस्थ डेमॉन की ओर इशारा कर रहा है जो निष्क्रिय या गायब हो सकता है। आप वेरिएबल को अनसेट करके इसे अस्थायी रूप से ठीक कर सकते हैं:

unset DOCKER_HOST
<पी> इसे स्थायी रूप से हटाने के लिए, इसे "~/.bashrc", "~/.zshrc", और "/etc/environment" जैसी शेल कॉन्फ़िगरेशन फ़ाइलों से साफ़ करें।

सक्रिय डॉकर संदर्भ की जाँच करें

<पी> डॉकर संदर्भ यह निर्धारित करते हैं कि सीएलआई किस डेमॉन के साथ संचार करता है। आप उपलब्ध संदर्भों को सूचीबद्ध कर सकते हैं और सक्रिय संदर्भ देख सकते हैं:

docker context ls
 डॉकर डेमॉन से कनेक्ट नहीं हो सकता  त्रुटि का त्वरित समाधान करें <पी> एक तारांकन चिह्न (*) वर्तमान में सक्रिय संदर्भ को इंगित करता है। यदि संदर्भ किसी अनुपलब्ध वातावरण की ओर इशारा करता है, तो डिफ़ॉल्ट स्थानीय डेमॉन पर वापस जाएँ:

docker context use default

प्लेटफ़ॉर्म-विशिष्ट मुद्दे

<पी> कुछ कनेक्शन समस्याएँ केवल विशिष्ट प्लेटफ़ॉर्म पर होती हैं। उदाहरण के लिए, विंडोज़ या मैकओएस पर डॉकर डेस्कटॉप हल्के वजन वाले वीएम के अंदर डेमॉन चलाता है। यदि वीएम प्रारंभ करने में विफल रहता है, तो डॉकर सीएलआई कनेक्ट नहीं हो सकता है। इस समस्या को ठीक करने के लिए, अपने डॉकर डेस्कटॉप को पुनरारंभ करें।

<पी> इसी तरह, WSL के साथ डॉकर का उपयोग करते समय, डेमॉन लिनक्स वातावरण में चलता है। सुनिश्चित करें कि WSL ठीक से स्थापित और चल रहा है:

wsl --list --running 
 डॉकर डेमॉन से कनेक्ट नहीं हो सकता  त्रुटि का त्वरित समाधान करें <पी> यदि डॉकर डेमॉन WSL से पहुंच योग्य नहीं है, तो डॉकर डेस्कटॉप सेवा या विशिष्ट WSL वितरण को पुनरारंभ करने से अक्सर समस्या ठीक हो जाती है।

भविष्य में इस त्रुटि से बचने के लिए युक्तियाँ

<पी> भविष्य में "डॉकर डेमॉन से कनेक्ट नहीं हो सकता" त्रुटियों से बचने के लिए, हमेशा सुनिश्चित करें कि डॉकर सेवा चल रही है, विशेष रूप से सिस्टम अपडेट के बाद, और अपने उपयोगकर्ता को sudo का उपयोग छोड़ने के लिए डॉकर समूह में जोड़ें। . नियमित रूप से अपने सक्रिय डॉकर संदर्भ की जांच करें, विशेष रूप से मशीनों, डब्लूएसएल वितरणों को स्विच करने या डॉकर डेस्कटॉप का उपयोग करने के बाद, और किसी विशिष्ट रिमोट डेमॉन से कनेक्ट होने तक DOCKER_HOST सेट करने से बचें, क्योंकि गलत कॉन्फ़िगर किए गए वेरिएबल सीएलआई कमांड को गलत दिशा दे सकते हैं। इसके अतिरिक्त, journalctl -u docker.service का उपयोग करके मॉनिटर डेमॉन लॉग करता है मुद्दों को जल्दी पकड़ने के लिए।


  1. Windows 11/10 पर HIDCLASS.sys विफल ब्लू स्क्रीन त्रुटि को ठीक करें Windows 11/10 पर HIDCLASS.sys विफल ब्लू स्क्रीन त्रुटि को ठीक करें

    HIDCLASS.SYS एक विंडोज ऑपरेटिंग सिस्टम फाइल ड्राइवर फाइल है। HID का मतलब ह्यूमन इंटरफेस डिवाइस है, और यह कीबोर्ड, माउस और अन्य इनपुट डिवाइस में तब्दील हो जाता है। यह महत्वपूर्ण सिस्टम ड्राइवर फ़ाइल पूरे सिस्टम में विभिन्न उपकरणों को जोड़ने के लिए जिम्मेदार है। इसमें वह कार्यक्षमता शामिल है जहां एक व

  1. लिनक्स में  इको  कमांड का उपयोग कैसे करें लिनक्स में 'इको' कमांड का उपयोग कैसे करें

    चाहे आप लिनक्स के लिए पूरी तरह से नए हों या लंबे समय से लिनक्स डेस्कटॉप का उपयोग कर रहे हों, कुछ ऐसे कमांड हैं जिनका कोई मतलब नहीं है। यह विशेष रूप से सच है यदि आप कभी भी कमांड लाइन में नहीं जाते हैं, जो कि लिनक्स और अन्य यूनिक्स जैसे ऑपरेटिंग सिस्टम की वास्तविक शक्ति है। इन्हीं में से एक है आदरणीय

  1. Mac को 2019 में PC की तुलना में अधिक मैलवेयर का पता चला Mac को 2019 में PC की तुलना में अधिक मैलवेयर का पता चला

    यदि आप मैलवेयर नहीं चाहते हैं तो लंबे समय तक, मैक कंप्यूटर को पसंद के मुख्यधारा के ऑपरेटिंग सिस्टम के रूप में जाना जाता था। यह शुरुआती मैक बनाम पीसी विज्ञापनों में एक मार्केटिंग बिंदु भी था, जहां मैक चरित्र मैक पर पाए जाने वाले वायरस की कमी के बारे में दावा करेगा। दुर्भाग्य से, यह प्रवृत्ति 2019 मे