[उबंटू] सुडो कमांड के बिना डॉकर चलाने के लिए सेटिंग्स और नोट्स

2019 10 年 月 日 3

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

चालू कर देना

डॉकर स्थापित करने के बाद, जैसा हैsudoजब मैंने बिना कमांड के ऑपरेशन की जाँच की तो मुझे एक त्रुटि मिली।

# उबंटू टर्मिनल से चलाएं डोकर रन हैलो-वर्ल्ड 

डॉकर: यूनिक्स पर डॉकर डेमन सॉकेट से कनेक्ट करने का प्रयास करते समय अनुमति नहीं मिली: ///var/run/docker.sock: http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/create पोस्ट करें: डायल यूनिक्स /var/run/docker.sock: कनेक्ट: अनुमति अस्वीकृत। 'docker run --help' देखें।

ऐसा लगता है कि डॉकर डेमन तक पहुंच अस्वीकार कर दी गई है। मैंने sudo docker run hello-world टाइप किया और यह काम कर गया।

त्रुटि का कारण इस प्रकार है।

डॉकर यूनिक्स सॉकेट या टीसीपी/आईपी के माध्यम से रूट विशेषाधिकारों के साथ चल रहे डेमन (डॉकरड) के साथ संचार करता है, लेकिन डॉकर तक पहुंचने के लिए आपको डॉकर समूह से संबंधित होना चाहिए या रूट विशेषाधिकार होना चाहिए।

डॉकर में उपयोगकर्ताओं को डॉकर समूहों में जोड़ने के खतरों को समझें

सुडो कमांड जोड़कर, सामान्य उपयोगकर्ता के रूप में रूट विशेषाधिकारों (जैसे डेमॉन से कनेक्ट करना) के बिना निष्पादित नहीं की जा सकने वाली कमांड को निष्पादित करना संभव हो जाता है।लेकिन हर बार सूडो जोड़ना कष्टप्रद होता है।

उपाय और सावधानियां

सुडो के बिना चलाने का एक तरीका यह है कि उपयोगकर्ता को डोकर समूह से संबंधित बनाया जाए (आप गुगली करके कई उदाहरण पा सकते हैं), लेकिन एक सुरक्षा समस्या प्रतीत होती है।

संदर्भ: डॉकटर समूह में रूट के समान विशेषाधिकार प्रदान करते समय जोखिम (आधिकारिक दस्तावेज)

यदि आप सूडो के बिना डॉकर का उपयोग करना चाहते हैं, newgrp ऐसा कहा जाता है कि अस्थायी रूप से किसी समूह या उपयोगकर्ता नामस्थान से संबंधित होना बेहतर है।

sudo groupadd docker # जहां $USER आपका उपयोगकर्ता नाम है sudo usermod -aG docker $USER newgrp docker docker run hello-world 

डोकर से नमस्ते!
यह संदेश दिखाता है कि आपका इंस्टॉलेशन ठीक से काम कर रहा है।

इस संदेश को जनरेट करने के लिए, डॉकर ने निम्नलिखित कदम उठाए:

1. डॉकर क्लाइंट ने डॉकर डेमन से संपर्क किया।
2. डॉकर डेमन ने डॉकर हब से "हैलो-वर्ल्ड" छवि खींची।
(एएमडी64)
3. डॉकर डेमन ने उस छवि से एक नया कंटेनर बनाया जो चलता है
निष्पादन योग्य जो आपके द्वारा वर्तमान में पढ़े जा रहे आउटपुट का उत्पादन करता है।
4. डॉकर डेमन ने उस आउटपुट को डॉकर क्लाइंट को स्ट्रीम किया, जिसने इसे भेजा
आपके टर्मिनल के लिए।

कुछ अधिक महत्त्वाकांक्षी प्रयास करने के लिए, आप निम्न के साथ एक Ubuntu कंटेनर चला सकते हैं:
$ डॉकर रन-यह उबंटू बैश

नि:शुल्क डॉकर आईडी के साथ छवियां साझा करें, कार्यप्रवाह स्वचालित करें, और बहुत कुछ करें: https://hub.docker.com/

अधिक उदाहरणों और विचारों के लिए, यहां जाएं:
https://docs.docker.com/get-started/