डॉकर 'अनुमति अस्वीकृत' त्रुटि

Dokara Anumati Asvikrta Truti



डॉकर के साथ काम करते समय, आपको ऐसे उदाहरण का सामना करना पड़ सकता है जहां कमांड 'अनुमति अस्वीकृत' त्रुटि देता है। यह त्रुटि तब होती है जब आप कमांड के लिए पर्याप्त अनुमति के बिना डॉकर को चलाने का प्रयास करते हैं।

डॉकर को डिफ़ॉल्ट रूप से संबंधित कमांड को निष्पादित करने के लिए सूडो या रूट अनुमति की आवश्यकता होती है। आवश्यक विशेषाधिकारों के बिना किसी भी कमांड को चलाने का प्रयास करने से कुख्यात 'अनुमति अस्वीकृत' त्रुटि होती है।







यह ट्यूटोरियल विभिन्न तरीके और तकनीकें प्रदान करता है जिनका उपयोग आप डॉकर कमांड चलाने का प्रयास करते समय 'अनुमति अस्वीकृत' त्रुटि को ठीक करने के लिए कर सकते हैं।



ध्यान रखें कि यह रूटलेस वातावरण में डॉकर को चलाने की प्रक्रिया को कवर नहीं करता है। आप निम्नलिखित संसाधन में रूटलेस डॉकर पर हमारा ट्यूटोरियल देख सकते हैं:



आवश्यकताएं:

जैसा कि आप अनुमान लगा सकते हैं, इस पोस्ट को आगे बढ़ाने के लिए आपके पास निम्नलिखित होना आवश्यक है:





    1. डॉकर संस्करण 20.0 और उससे ऊपर
    2. होस्ट सिस्टम पर सूडो या रूट अनुमतियाँ

'अनुमति अस्वीकृत' त्रुटि क्या है?

जब डॉकर में 'अनुमति अस्वीकृत' त्रुटि होती है, तो इसका मतलब है कि होस्ट सिस्टम अपर्याप्त अनुमतियों के कारण डॉकर डेमॉन के साथ संचार स्थापित नहीं कर सकता है। एक उदाहरण निम्नलिखित में दिखाया गया है:

$ डॉकर रन -यह बिजीबॉक्स



यदि आपको दी गई त्रुटि का सामना करना पड़ता है, तो आप इसे ठीक करने का तरीका जानने के लिए निम्नलिखित कुछ तरीकों का उपयोग कर सकते हैं।



विधि 1: डॉकर को रूट के रूप में चलाएँ

डॉकर की 'अनुमति अस्वीकृत' त्रुटि को हल करने का पहला और सबसे स्पष्ट तरीका 'सुडो' कमांड का उपयोग करना है। यदि आपके पास sudo विशेषाधिकार हैं, तो आप sudo का उपयोग करके संबंधित कमांड चलाकर इसे ठीक कर सकते हैं।

उदाहरण के लिए, उक्त त्रुटि को ठीक करने के लिए, हम निम्नानुसार कमांड से पहले sudo जोड़ सकते हैं:

$ सूडो डॉकर रन -यह बिजीबॉक्स



जैसा कि आप देख सकते हैं, डॉकर सफलतापूर्वक आवश्यक छवियां खींचता है और कंटेनर चलाता है।

विधि 2: डॉकर डेमॉन को पुनरारंभ करें

कभी-कभी, इंजन में कोई समस्या होने पर आपको डॉकर में 'अनुमति अस्वीकृत' त्रुटि मिल सकती है। समस्या को मैन्युअल रूप से ट्रैक करने के बजाय, आप इसे पुनः लोड करने के लिए डॉकर डेमॉन को त्वरित रूप से पुनः आरंभ करने का प्रयास कर सकते हैं।

डॉकर डेमॉन की स्थिति की जाँच निम्नानुसार शुरू करें:

$ डॉकर सिस्टमसीटीएल स्थिति डॉकर



एक बार जब आप सुनिश्चित कर लें कि डॉकर चल रहा है, तो निम्न आदेश के साथ सेवा को पुनरारंभ करें:

$ सूडो systemctl पुनरारंभ डॉकर


इससे डॉकर डेमॉन को बूट करना चाहिए और किसी भी संभावित समस्या को ठीक करना चाहिए जो आपको किसी भी कमांड को चलाने से रोक सकती है।

विधि 3: गैर-रूट उपयोगकर्ता को सक्षम करें

एक अन्य विधि जिसका उपयोग आप डॉकर में 'अनुमति अस्वीकृत' त्रुटि को हल करने के लिए कर सकते हैं, वह है गैर-रूट उपयोगकर्ताओं को डॉकर कमांड निष्पादित करने की अनुमति देना।

इस विधि को सक्षम करने के लिए, होस्ट सिस्टम में लॉग इन करें और डॉकर के लिए एक नया समूह बनाएं।

$ सूडो समूह जोड़ें -एफ डाक में काम करनेवाला मज़दूर


इसके बाद, अपनी इच्छानुसार किसी भी उपयोगकर्ता को डॉकर समूह में इस प्रकार जोड़ें:

$ सूडो यूजरमोड -एजी डॉकर लिनक्सहिंट


पिछले कमांड को लिनक्सहिंट उपयोगकर्ता को डॉकर समूह में जोड़ना चाहिए।

अंत में, निम्नलिखित आदेश का उपयोग करके समूह परिवर्तनों को वर्तमान सत्र में लागू करें:

$ न्यूजीआरपी डॉकर


एक बार पूरा होने पर, आप Docker समूह में किसी भी उपयोगकर्ता के लिए sudo का उपयोग किए बिना कोई भी Docker कमांड चला सकते हैं।

विधि 4: डॉकर अनुमतियाँ पुन: कॉन्फ़िगर करें

अगली विधि जो आप उपयोग कर सकते हैं वह डॉकर सॉकेट के लिए अनुमतियाँ रीसेट करना है। निम्नलिखित कमांड चलाकर डॉकर यूनिक्स सॉकेट का स्वामित्व बदलकर प्रारंभ करें:

$ सूडो चाउन रूट:डॉकर / था / दौड़ना / docker.sock


इसके बाद, निम्नानुसार कमांड का उपयोग करके अपनी होम निर्देशिका में छिपी हुई डॉकर निर्देशिका का स्वामित्व लें:

$ सूडो चाउन -आर ' $उपयोगकर्ता ' : ' $उपयोगकर्ता ' $घर / .docker


अंत में, समूह को निर्देशिका में पढ़ने और लिखने की अनुमति इस प्रकार निर्दिष्ट करें:

$ सूडो चामोद -आर जी+आरडब्ल्यू ' $घर /.docker'


प्रदान की गई विधियों को आवश्यक डॉकर फ़ाइलों और निर्देशिकाओं के लिए पर्याप्त अनुमतियाँ निर्धारित करनी चाहिए।

निष्कर्ष

इस ट्यूटोरियल में, हमने सीखा कि डॉकर कमांड को लागू करते समय डॉकर 'अनुमति अस्वीकृत' त्रुटि को हल करने के लिए हम चार मुख्य तरीकों का उपयोग कैसे कर सकते हैं।