मेरे लिए सरल समाधान: sudo docker-compose up
UPDATE 2016-3-14: कुछ बिंदु पर docker इंस्टॉल प्रक्रिया (या docker-compose?) में आपका उपयोगकर्ता नाम "docker" समूह में जोड़ने के लिए एक सुझाव और उदाहरण है। यह आपको सभी docker कमांड से पहले "sudo" की आवश्यकता से बचने की अनुमति देता है, जैसे:
~ > docker run -it ubuntu /bin/bash
root@665d1ea76b8d:/# date
Mon Mar 14 23:43:36 UTC 2016
root@665d1ea76b8d:/# exit
exit
~ >
इंस्टॉल कमांड के आउटपुट को ध्यान से देखें (docker-compose के लिए docker और 2nd install दोनों) और आपको आवश्यक कदम मिल जाएगा। यह यहां भी प्रलेखित है: https://subosito.com/posts/docker-tips/
Sudo? नहीं!
आप एक आदेश जारी करने के लिए sudo docker टाइपिंग से थक गए? हाँ, इससे निपटने का एक तरीका है। यद्यपि स्वाभाविक रूप से docker को मूल उपयोगकर्ता की आवश्यकता होती है, हम docker कार्रवाइयों के लिए एक रूट-समतुल्य समूह दे सकते हैं।
आप docker नामक समूह बना सकते हैं, फिर उस समूह में वांछित उपयोगकर्ता जोड़ सकते हैं। Docker सेवा को फिर से शुरू करने के बाद, उपयोगकर्ता को हर बार docker संचालन करने के लिए sudo टाइप करने की आवश्यकता नहीं होगी। यह एक शेल कमांड पर कैसा दिखता है? एक जड़ के रूप में, यहाँ आप जाते हैं:
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
किया हुआ!
अद्यतन 2017-3-9
लिनक्स के लिए इंस्टालेशन के बाद के चरण
इस खंड में डॉकर के साथ बेहतर काम करने के लिए लिनक्स होस्ट को कॉन्फ़िगर करने के लिए वैकल्पिक प्रक्रियाएं हैं।
डॉकर को एक गैर-रूट उपयोगकर्ता के रूप में प्रबंधित करें
डोकर डेमॉन एक टीसीपी पोर्ट के बजाय एक यूनिक्स सॉकेट से बांधता है। डिफ़ॉल्ट रूप से कि यूनिक्स सॉकेट उपयोगकर्ता रूट के स्वामित्व में है और अन्य उपयोगकर्ता केवल sudo का उपयोग करके इसे एक्सेस कर सकते हैं। डोकर डेमॉन हमेशा रूट उपयोगकर्ता के रूप में चलता है।
यदि आप doo कमांड का उपयोग करते समय sudo का उपयोग नहीं करना चाहते हैं, तो doix नामक एक यूनिक्स समूह बनाएं और उसमें उपयोगकर्ताओं को जोड़ें। जब डॉकटर डेमन शुरू होता है, तो यह यूनिक्स सॉकेट के स्वामित्व को रीडर्स समूह द्वारा पढ़ा / लिखने योग्य बनाता है।
कर्ता समूह बनाने और अपने उपयोगकर्ता को जोड़ने के लिए:
# 1. Create the docker group.
$ sudo groupadd docker
# 2. Add your user to the docker group.
$ sudo usermod -aG docker $USER
# 3. Log out and log back in so that your group membership is re-evaluated.
# 4. Verify that you can run docker commands without sudo.
$ docker run hello-world
यह कमांड एक परीक्षण छवि डाउनलोड करता है और इसे एक कंटेनर में चलाता है। जब कंटेनर चलता है, तो यह एक सूचना संदेश प्रिंट करता है और बाहर निकलता है।
docker-machineरूट के रूप में चलाने के? मैं सिर्फ उबंटू पर इसी समस्या के साथ आया था और यह सॉकेट पर अनुमतियाँsudoथी - चाल चली।