कर्ता के साथ समस्या


32

मैं ubuntu 15.04 में "डॉकर" के बारे में जानने की कोशिश कर रहा हूं।

जब मैं "docker run image" जैसे docker का उपयोग करके कोई कमांड देता हूं, तो यह निम्नलिखित त्रुटि प्राप्त करता है:

FATA[0000] Post http:///var/run/docker.sock/v1.17/containers/create: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?

मुझे समझ में नहीं आता कि इसका क्या मतलब है।


5
मुझे यह त्रुटि संदेश मिल रहा था और फिर इसके साथ डेमन शुरू किया sudo service docker start। तब मैं दौड़ पा रहा था sudo docker run hello-world। सौभाग्य।
शेल्टर

जवाबों:


31

इस त्रुटि के दो संभावित कारण हैं:

  1. डॉकर डेमॉन नहीं चल रहा है। आप इसे देख सकते हैं sudo /etc/init.d/docker status

  2. डॉकर डेमॉन चल रहा है, लेकिन इसे सुनने के लिए नहीं कॉन्फ़िगर किया गया है /var/run/docker.sock/etc/default/dockerयदि कोई -Hविकल्प निर्दिष्ट किया गया है तो आप जांच कर सकते हैं DOCKER_OPTS


3
+1। मुझे बस तब से उपयोग करना था $ sudo service docker statusजब मैं मिला$ sudo /etc/init.d/docker status * Docker is managed via upstart, try using service docker status
इसहाक

दौड़ने के बाद sudo /etc/init.d/docker status, मैंने पहचाना कि docker सेवा नीचे है। मैं दौड़ता हूं sudo /etc/init.d/docker start, तब मैं अपनी डॉकटर छवि को चलाने में सक्षम था।
हलील

सिस्टमड (Ubuntu 16.04+) पर अभी कोई / आदि / डिफ़ॉल्ट / डॉक उपयोगी नहीं है। बीटीडब्लू सिस्टम पर डिमॉन स्टेटस की जांच करने के लिए विहित तरीका है sudo systemctl status docker
पाब्लो ए

38

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

sudo usermod -aG docker $USER

परिवर्तन प्रभावी होने के लिए आपको अपना सत्र बंद करना होगा और फिर से लॉग इन करना होगा।


शायद सबसे सरल। मुझे नहीं पता कि यह काम करता है, हालांकि (@ decebal का उपयोग) जवाब।
यार दून

मुझे यह संकेत नहीं मिला। मैं रास्पबेरी पाई पर हूं।
इगोरगानापोलस्की

बाद में अपने आप को डॉक ग्रुप में जोड़ने के लिए, दौड़ें sudo usermod -a -G docker <user>। अधिक जानकारी के लिए यहां देखें ।
ह्यूग डब्ल्यू

3
"अपना सत्र बंद करें" पर जोर - धन्यवाद!
डोलन एंटेनुची

ग्नोम के साथ उबंटू 18.04 पर, मुझे काम करने के लिए सिस्टम को पुनरारंभ करना पड़ा। बस लॉग आउट नहीं किया और वापस काम नहीं किया: /
Zoltán

15

समूह अनुमतियों को लागू करने के लिए docker स्थापित होने के बाद अपने ओएस को रिबूट करने का प्रयास करें, यदि आपका उपयोगकर्ता docker समूह में शामिल हो गया है।

अद्यतन करें:

जब डॉकर ubuntu 14.04 पर इंस्टॉल हो रहा है, तो इंस्टॉलर यह पुन: पता लगाता है कि आपके उपयोगकर्ता ने डॉकर सेवा तक पहुंचने के लिए डॉकर समूह में क्या जोड़ा है।

की ओर देखें

डोकर डेमॉन एक टीसीपी पोर्ट के बजाय एक यूनिक्स सॉकेट से बांधता है। डिफ़ॉल्ट रूप से कि यूनिक्स सॉकेट उपयोगकर्ता रूट के स्वामित्व में है और अन्य उपयोगकर्ता इसे sudo के साथ एक्सेस कर सकते हैं। इस कारण से, docker daemon हमेशा रूट उपयोगकर्ता के रूप में चलता है। जब आप docker कमांड का उपयोग करते हैं तो sudo का उपयोग करने से बचने के लिए, doix नामक एक यूनिक्स समूह बनाएं और उसमें उपयोगकर्ताओं को जोड़ें। जब डॉकटर डेमॉन शुरू होता है, तो यह यूनिक्स सॉकेट के स्वामित्व को रीडर्स समूह द्वारा पढ़ा / लिखने योग्य बनाता है।

स्रोत: https://docs.docker.com/installation/ubuntulinux/#create-a-docker-group


2
आपको यह बताना चाहिए कि यह क्यों मदद करेगा।
गुंटबर्ट

1
@guntbert के पास मेरा जवाब अपडेट है ..
MURATSPLAT

@MURATSPLAT, QBI, gunbert धन्यवाद मैं समाधान खोजने
ऋषि कांत

समूह अनुमति परिवर्तन प्रभाव बनाने के लिए। आपको रिबूट करने की आवश्यकता नहीं है। लॉगआउट पर्याप्त है।
टिम वू

@ टिंबु १ 18.०४ पर गनोम के साथ, मुझे सिस्टम को फिर से शुरू करना पड़ा - बस लॉग आउट नहीं किया और वापस काम नहीं किया: /
ज़ोल्टन

10

sudo docker imagesयह जांचने के लिए उपयोग करने का प्रयास करें कि क्या <image>आपके मेजबान में एक कंटेनर है ।

रनिंग आपके होस्ट कंप्यूटर में docker run <image>एक कंटेनर शुरू करेगा <image>, यदि आपके होस्ट कंप्यूटर में यह कंटेनर नहीं है, तो docker रिपॉजिटरी हब से आपके द्वारा चलाए जा रहे तरीके की तरह ही एक कंटेनर को खींच देगा docker pull <image>। तब अगर यह अभी भी '' नामक छवि नहीं पा सकता है, तो यह त्रुटि संदेश दिखाएगा।

आप यह देखने के लिए बदलने का प्रयास कर सकते hello-worldहैं कि क्या आपके कंप्यूटर पर docker काम कर रहा है।

sudo docker run hello-world

इसके अलावा, आपको जांच करनी चाहिए कि क्या आपको उपयोग करना चाहिए sudo


2
यदि समस्या यह थी कि ओपी सुडो का उपयोग नहीं कर रहा है, तो त्रुटि संदेश "ऐसी कोई फ़ाइल या निर्देशिका" के बजाय "अनुमति से वंचित" होता।
एंड्रियास वीथेन

1
हां, आप सही हैं। मैंने कोशिश की, अगर उपयोगकर्ता की अनुमति नहीं है तो त्रुटि संदेश होगा:FATA[0000] Get http:///var/run/docker.sock/v1.18/containers/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?
realhu

2
अनुमतियाँ देने की कोशिश करेंsudo usermod -a -G docker ec2-user
AB

4

मुझे यह लेख सहायक लगा: https://docs.docker.com/articles/systemd/ ; मैंने इसे कई वातावरणों में चलाया और काम किया, आशा है कि यह आपकी मदद भी करेगा


लिंक-केवल उत्तर स्वीकार्य नहीं माने जाते हैं। कृपया अपना उत्तर पूरा करने के लिए मांस दें।
3

2
जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
मिच

1
यह सिस्टम लिंक मृत प्रतीत होता है। यहाँ एक और लिंक है docs.docker.com/engine/admin/systemd
wsams

2

एक छवि खींचने की कोशिश करते हुए मुझे एक समान संदेश मिला। मैंने अभी किया था sudo suऔर फिर छवि को सफलतापूर्वक खींचने में सक्षम था।


2
उबंटू पूछने के लिए आपका स्वागत है! मैं सलाह देता हूं कि इस उत्तर को संपादित करने के लिए इसे विशिष्ट विवरण के साथ विस्तारित करें कि यह कैसे करना है। (यह भी देखें कि मैं एक अच्छा उत्तर कैसे लिख सकता हूं? सामान्य सलाह के लिए, उकबे उबंटू पर किस प्रकार के उत्तरों को सबसे अधिक मूल्यवान माना जाता है।) हालांकि, इस बात से अवगत रहें कि डॉकर को सुपर-उपयोगकर्ता के रूप में चलाने से पहले ही कई बार सुझाव दिया जा चुका है।
डेविड फ़ॉर्स्टर

मुझे अपनी समस्या का समाधान मिल गया।
ऋषि कांत
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.