यूनिक्स में डॉकर डेमॉन से कनेक्ट नहीं किया जा सकता: /var/run/docker.sock। क्या डॉकटर डेमॉन चल रहा है?


172

मैंने इंटरनेट पर उपलब्ध हर समाधान को लागू किया है लेकिन फिर भी मैं डॉकर नहीं चला सकता।

मैं अपने सर्वर पर स्क्रैपी स्पलैश का उपयोग करना चाहता हूं।

यहाँ historyआज्ञाओं का मैं भाग रहा हूँ।

docker run -p 8050:8050 scrapinghub/splash
sudo docker run -p 8050:8050 scrapinghub/splash
sudo usermod -aG docker $(whoami)
sudo docker run -p 8050:8050 scrapinghub/splash
newgrp docker
sudo docker run -p 8050:8050 scrapinghub/splash
reboot
sudo docker run -p 8050:8050 scrapinghub/splash
docker run -p 8050:8050 scrapinghub/splash

आप देख सकते हैं कि मैंने अपने सर्वर को फिर से शुरू करने की कोशिश की, लेकिन इससे मदद नहीं मिली।

का आउटपुट देखें ps -aux | grep docker

root@mani:/var/www/html# ps aux | grep docker
root      8524  0.0  0.8 127904 13964 ?        Ssl  17:21   0:00 /usr/bin/dockerd --raw-logs
root      8534  0.0  0.3  90588  5012 ?        Ssl  17:21   0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
root      8543  0.0  0.0   8812   764 pts/1    S+   17:21   0:00 grep --color=auto docker
root     16356  0.0  0.0  17200   964 pts/1    S    17:14   0:00 newgrp docker
root     20080  0.0  0.0  17200   964 pts/1    S    17:06   0:00 newgrp docker
root     30221  0.0  0.0  17200   964 pts/1    S    17:09   0:00 newgrp docker

यदि आप ps aux चलाते हैं | grep docker, क्या आप डेमन प्रक्रिया को चला रहे हैं?
रोम .08

संभावित डुप्लिकेट: stackoverflow.com/questions/21871479/…
BMitch

@Rome_Leader मेरे प्रश्न में आउटपुट देखें ...
उमैर अयूब

3
इसे आज़माएँ: sudo service
docker

2
आप इसका उपयोग करते हुए sudo service docker status
docker

जवाबों:


161

आप इसे आज़मा सकते हैं:

systemctl start docker

इसने मेरे लिए अच्छा काम किया।

पुनश्च: अगर वहाँ आज्ञा है कि आप sudo के बिना नहीं कर सकते हैं, यह कोशिश:

gpasswd -a $USER docker

10
पहली कमांड चलाने पर, मुझे एक त्रुटि मिली: Failed to start docker.service: Unit docker.service is masked.इसलिए, मुझे निम्नलिखित भाग करना पड़ा: systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service
क्रिस फान

50

यदि डॉकटर सफाई बंद नहीं करता है तो आपको यह त्रुटि मिल सकती है। निम्नलिखित उत्तर डॉक स्नैप पैकेज के लिए है।

भागो snap logs dockerऔर निम्नलिखित के लिए देखो:

Error starting daemon: pid file found, ensure docker is not running or delete /var/snap/docker/179/run/docker.pid

उस फ़ाइल को हटाना और पुनः आरंभ करने वाले ने मेरे लिए काम किया।

rm /var/snap/docker/<your-version-number>/run/docker.pid
snap stop docker
snap start docker

बदलने के लिए सुनिश्चित करें कि <your-version-number>‍उपयुक्त संस्करण संख्या के साथ।


मेरे द्वारा इसे होने से कैसे रोका जा सकता है? जब भी मैं अपने पीसी को चालू करता हूं, मुझे docker.pid को हटाना पड़ता है!
हमीद्रेजा

47

बस दौडो

sudo dockerd

dockerd डॉक कंटेनर के लिए डेमन सेवा है, क्योंकि यह पृष्ठभूमि में नहीं चल रहा है, हम सेवा से संबंधित कोई भी कार्रवाई करने में सक्षम नहीं हैं, जिसे फिर से शुरू करने की आवश्यकता है।


10
यह एकमात्र आदेश है जो मेरे लिए काम करता है। मुझे लगता है कि यह हास्यास्पद है कि डॉक को ऊपर लाने और चलाने के लिए इतने सारे हुप्स से कूदना पड़ता है।
होम्यनकुलस रेटिकुल्ली

3
यह मुझे त्रुटि देता हैError starting daemon: Devices cgroup isn't mounted
विनीत 'देव' देव

@fepegar संभवत: आप ठीक से स्थापित नहीं कर रहे हैं
यश पोकर

@YashPokar वास्तव में, मैंने पुनर्स्थापना को समाप्त कर दिया है और अब चीजें उम्मीद के मुताबिक काम करती हैं। धन्यवाद।
15

केवल एक कमांडर जो डॉकटर कंटेनर शुरू करने के लिए मेरे अंदर काम करता है। भवन बनाते समय अपना वातावरण बनाने के लिए इसे कूट-कूट कर भरने की आवश्यकता है। :-)
हम

21

सबसे पहले, sudo के साथ प्रयास करें , क्योंकि वर्तमान उपयोगकर्ता के पास docker daemon यानी /var/run/docker.sock को संवाद करने की अनुमति नहीं हो सकती है।

यदि इसकी अभी भी काम नहीं कर रहा है, तो, स्थापना के बाद, बस docker डेमन को रोकें,

$ sudo service docker stop

और, पृष्ठभूमि में डेमॉन शुरू करने के लिए निम्नलिखित कमांड चलाएँ,

$ sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

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

$ sudo usermod -aG docker $USER

इसके अलावा, इस कदम का उल्लेख लिनक्स के लिए डॉक पोस्ट-इंस्टालेशन चरणों के आधिकारिक दस्तावेज में किया गया है ( https://docs.docker.com/engine/installation/linux/linux-postinstall/ )

उबंटू 16.04 उपयोगकर्ताओं निम्न चरणों का पालन कर सकते हैं,

फ़ाइल के अंदर /lib/systemd/system/docker.service परिवर्तन: ExecStart = / usr / bin / dockerd fd: // साथ ExecStart = / usr / bin / dockerd -Hcp: //0.0.0.0: 2375

फ़ाइल के अंदर /etc/init.d/docker परिवर्तन:

DOCKER_OPTS = DOCKER_OPTS के साथ = "- H **** tcp: //0.0.0.0: 2475 "

और फिर अपनी मशीन को पुनरारंभ करें। और, डॉकटर के साथ खेलना शुरू करें।


1
रनिंग sudo nohup docker daemon -H http://tcp://0.0.0.0:2375 () -H http://unix:///var/run/docker.sockदेता है bash: syntax error near unexpected token ('`
उमैर अयूब

1
मैं रेडहैट लाइनक्स चला रहा हूं
उमैर अयूब

मुझे क्षमा करें। अतिरिक्त वर्ण (), अद्यतन। आरएचईएल का कौन सा संस्करण? बस जाँचें कि आपको $ DOCKER_HOST के साथ क्या मूल्य मिलेगा?
mohan08p

$ sudo systemctl डॉक को बूट समय पर शुरू करने में सक्षम बनाता है।
mohan08p

मैं अब डॉकर को स्थापित करने की कोशिश कर रहा हूं CentOS Linux release 7.3.1611 (Core)... लेकिन अब त्रुटि है Your Linux kernel version 2.6.32-042stab116.2 is not supported for running docker. Please upgrade your kernel to 3.10.0 or newer.... क्या मैं कर्नेल का उपयोग करके अपडेट कर सकता हूं yum update kernel... ???? सवाल है, क्या यह मेरे सर्वर पर सब कुछ हटा देगा? इसके साथ एक जीवित सर्वर एक वेबसाइट पर चल रहा है, मैं इसे गड़बड़ नहीं करना चाहता।
उमैर अयूब

9

यह आमतौर पर होता है अगर आपने संभवत: डॉकटर को नहीं रोका है।

हल करना

service docker stop
cd /var/run/docker/libcontainerd
rm -rf containerd/*
rm -f docker-containerd.pid
service docker start

फिर अपनी छवि को डाउनलोड करने और हमेशा की तरह कंटेनर शुरू करने के लिए "docker run ...."


8

मुख्य डॉक्स से DOCKER की एक नई स्थापना करने के बाद मैंने इसे हिट किया। मेरे लिए समस्या यह थी कि स्थापित होने के तुरंत बाद, सेवा नहीं चल रही है।

ये कमांड आपको यह सुनिश्चित करने में मदद करेंगी कि डॉक अप और रन कमांड के लिए इसे खोजने के लिए चल रहा है:

$ sudo service --status-all 
$ sudo service docker start
$ sudo service docker start

7

मैं रूट पर चल रहा हूँ और नीचे कोशिश की, यह काम किया:

service docker start

export DOCKER_HOST="tcp://0.0.0.0:2375"

3
यदि यह आपके होस्ट पर काम करता है, तो आपके पास प्रभावी रूप से कोई रूट पासवर्ड नहीं है। उस पोर्ट तक पहुंचने वाला कोई भी आपके होस्ट पर रूट के रूप में कमांड चला सकता है।
BMitch

6

एक कंटेनर को खींचने के बाद मुझे यह समस्या थी docker pull mongo। पहले तो मुझे अजीब त्रुटियां हो रही थीं इसलिए मैंने डॉकटर sudo apt-get purge docker.ioको पुन sudo apt-get install docker.io: स्थापित किया और पुन : स्थापित किया ... इस सब ने कुछ नहीं किया। मैं हैलो-वर्ल्ड कंटेनर भी नहीं चला सकता था। कम से कम मेरे लिए सही फिक्स था:

systemctl unmask docker.service
systemctl unmask docker.socket
systemctl start docker.service

इसके बाद मैं मोंगो को खींच सकता था और हैलो वर्ल्ड चला सकता था।

चीयर्स!


मुझे यह सूडो के साथ उबंटू में 18.04
बसंत


2

ubuntu Export DOCKER_HOST = tcp: // localhost: 2375 में इसका उपयोग करें


यदि यह आपके सिस्टम पर काम करता है, तो आपके पास प्रभावी रूप से कोई रूट पासवर्ड नहीं है। उस पोर्ट तक पहुंच वाला कोई भी व्यक्ति होस्ट पर रूट के रूप में कमांड चला सकता है।
BMitch

2

निर्यात DOCKER_HOST = tcp: // localhost: 2375, ऐसे किसी भी व्यक्ति के लिए एकदम सही है जिसके पास sudo एक्सेस नहीं है और उपयोगकर्ता के पास unix तक पहुंच नहीं है: ///var/run/docker.sock


यह उन लोगों के लिए भी उपयोगी है, जिनके पास सामान्य रूप से रूट एक्सेस नहीं है, लेकिन आसानी से अपने होस्ट पर रूट बनना चाहते हैं। उस पोर्ट तक पहुंच वाला कोई भी व्यक्ति रूट के रूप में कमांड चला सकता है।
BMitch

@ ब्रिच देखभाल विस्तृत करने के लिए?
फ्रेंक मारजोआ

@FranMarzoa दूसरे उपयोगकर्ता से जिसे आप पर भरोसा नहीं है, या यहां तक ​​कि किसी अन्य होस्ट से, आप docker runकंटेनर के अंदर रूट उपयोगकर्ता के साथ किसी भी कमांड को चला सकते हैं , विशेषाधिकार प्राप्त, पीआईडी ​​और नेटवर्क पर होस्ट नेमस्पेस के साथ, और रूट फाइलसिस्टम ओके बॉक्स को माउंट कर सकते हैं।
४६ पर बीएमएच

2

मैं संदेश के प्रकट होने पर AWS के एक उदाहरण में docker (बस स्थापित) को चलाने का प्रयास कर रहा था। मैं अभी लिखता हूंsudo service docker start और मेरे लिए ठीक काम करता है।

डॉकर के साथ AWS भी देखें


2

यहाँ छवि विवरण दर्ज करें

मैं बस अपने मैक में डॉकर डेस्कटॉप चलाना भूल जाता हूं, डॉकर डेस्कटॉप चलाने के बाद, आप जाना अच्छा होगा।


2

यह अपवाद तब आता है जब docker की सेवा नहीं चल रही है या लॉग इन उपयोगकर्ता के पास docker तक पहुँचने की अनुमति नहीं है और आम तौर पर यह RedHat में आता है

नीचे दिए गए आदेश का उपयोग करके समस्या को हल करना चाहिए

सुडो सेवा शुरू करने वाले

यहाँ छवि विवरण दर्ज करें



1

मुझे gitlab CI के नोड के लिए भी यही समस्या थी: lts image:

  • मैं सिर्फ docker डेमॉन को पुनः आरंभ करता हूं और कंटेनर को पुनरारंभ करता हूं, यह मेरे लिए काम करता है।

1

यह मेरे लिए काम करता है, यह सिर्फ आपके लिए काम कर सकता है यदि आप उबंटू 16 या 18 (14 भी काम कर सकते हैं) का उपयोग कर रहे हैं। एक कोशिश देने के लिए आसान:

Ubuntu सॉफ्टवेयर पर जाएं, डॉकर में टाइप करें। यदि यह पूर्वस्थापित है तो स्थापना रद्द करें (108 mb)। डॉकटर स्थापित करें अब कमांड चलाएं और देखें कि क्या वही त्रुटि आती है

त्रुटि:

यहाँ छवि विवरण दर्ज करें

उपरोक्त चरणों को करने के बाद। यहाँ छवि विवरण दर्ज करें

जैसा कि आप देख सकते हैं, यह काम किया :)


1

मैंने लिनक्स पर उसी मुद्दे का सामना किया जब मैंने यम (yum install docker) का उपयोग करके डॉकटर स्थापित किया।

रिज़ॉल्यूशन: आधिकारिक साइट से डॉकटर बाइनरी डाउनलोड करें: डॉक इनस्टॉल , अनपैक करें और इंस्टॉलेशन चरणों का पालन करें।


1

वर्तमान उत्तर में से कोई भी इस त्रुटि के मेरे संस्करण के लिए काम नहीं करता है। मैं Ubuntu 18 के डेस्कटॉप संस्करण का उपयोग कर रहा हूं। निम्नलिखित दो आदेशों ने समस्या को ठीक कर दिया।

sudo snap connect docker:home :home

sudo snap start docker


0

मेरे लिए समाधान यह सुनिश्चित करने के लिए था कि मैंने सही डॉकर पैकेज स्थापित किया था। उदाहरण के लिए, उबंटू के लिए मूल्यह्रास पैकेज निम्न हैं:

  • डाक में काम करनेवाला मज़दूर
  • डोकर इंजन
  • docker.io
  • containerd
  • runc

स्थापना की जाँच के लिए https://docs.docker.com । लेखन के समय उबंटू , सेंटोस , डेबियन और फेडोरा के लिए निर्देश दिए गए हैं ।


आपने कुछ चरणों को याद किया: रेपो पर हस्ताक्षर करने के लिए इस लिंक का अनुसरण करें। medium.com/@sebagomez/…
रॉबर्ट

@Robert, ऊपर मैं PGP कुंजी प्राप्त करने के लिए आधिकारिक docs.docker का संदर्भ देता हूं। यह इस साइट या माध्यम से कॉपी करने वाले उपयोगकर्ताओं की तुलना में अधिक सुरक्षित है।
रिछ

मैंने उबंटू के चरणों की कोशिश की और वे काम नहीं कर रहे हैं। हस्ताक्षर प्रक्रिया और मेरे द्वारा दिए गए लिंक की आवश्यकता है।
राबर्ट

@ रॉबर्ट, धन्यवाद, मैंने अपने अधूरे निर्देशों को हटा दिया है और इसके बजाय केवल आधिकारिक दस्तावेज को देखें।
RikH


0

यह हार्ड ड्राइव पर छोड़े गए डिस्क स्थान से संबंधित नहीं हो सकता है। सुनिश्चित करें कि आपके पास डिवाइस पर जगह बची हुई है, डॉकटर प्रारंभ नहीं कर सकता है यदि कोई स्थान नहीं बचा है।


0

उपयोग docker start <your_container_name>

फिर डेटाबेस का उपयोग करके कनेक्ट करें mssql -u <yourUsername> -p <yourPassword>

यदि आपको पहले चरण में कोई त्रुटि मिलती है तो डॉक करने वाला चल रहा है और दूसरे चरण के साथ जाता है।

नोट: मैं अपने प्राथमिक OS के रूप में मैक का उपयोग करता हूं और यह यूनिक्स आधारित ओएस के लिए एक ही उत्तर हो सकता है। अगर नहीं! अग्रिम खेद है।


0

मैं भी नीचे संदेश त्रुटि प्राप्त किया, docker स्थापित करने और चलाने के बाद: docker चलाने हैलो-दुनिया

यूनिक्स में डॉकर डेमॉन से कनेक्ट नहीं किया जा सकता: /var/run/docker.sock। क्या डॉकटर डेमॉन चल रहा है?

यहाँ एक समाधान है, मेरे लिए क्या काम किया। पर्यावरण - विंडोज 10 (विंडोज पर सक्षम करने के लिए मत भूलना: सेटिंग्स> अपडेट और सुरक्षा> डेवलपर मोड) - उबंटू 18.04 एलटीएस - डॉकर डेस्कटॉप संस्करण 2.3.0.2 (45183) - डॉकर डेस्कटॉप में सक्षम करें: टीसीपी पर डेमॉन को उजागर करें // लोकलहोस्ट: 2375 टीएलएस के बिना - डॉकटर डेस्कटॉप भी चलना चाहिए (डॉकटर हब से जुड़ा ... बस लॉग इन करें)

Ubuntu स्थापित करने के बाद, रिपॉजिटरी को अपडेट करें

sudo apt-get update

HTTPS पर एक रिपॉजिटरी का उपयोग करने के लिए

sudo apt-get install-apt-transport-https \ ca-प्रमाणपत्र \ कर्ल \ gnupg- एजेंट \ सॉफ्टवेयर-गुण-आम

आधिकारिक Docker GPG कुंजी जोड़ें:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

सुनिश्चित करें कि अब आपके पास फिंगरप्रिंट के साथ कुंजी है

sudo apt-key फिंगरप्रिंट 0EBFCD88

रिपॉजिटरी को अपडेट करें

sudo apt-get update

कर्ता रिपॉजिटरी को अपडेट करें

sudo add-apt-repository \ "deb [arch = amd64] https://download.docker.com/linux/ubuntu \ $ (lsb_release -cs) \ स्थिर"

रिपॉजिटरी को फिर से अपडेट करें

sudo apt-get update

संस्करण में कर्ता को स्थापित करने की आज्ञा: 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic

sudo apt-get install docker-ce = 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic docker-ce-cli = 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic containerd.io

DOCKER_HOST सेट करने के लिए कमांड

निर्यात DOCKER_HOST = "tcp: //0.0.0.0: 2375"

नोट: ubunto ex के साथ शुरू करने के लिए अपनी प्रोफ़ाइल में कमांड ऊपर रखें: "DOCKER_HOST = 'tcp: //0.0.0.0: 2375'" >> ~ / .bashrc निर्यात करें।

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

sudo usermod -aG docker $ USER

Ubuntu को फिर से शुरू करें

(बंद करें और ubuntu खिड़की को फिर से खोलें)

स्थापना का परीक्षण करना (docker कमांड से पहले अधिक sudo का उपयोग न करें (यह एक त्रुटि देगा), उपयोगकर्ता "रूट" को पहले ही docker ग्रुप में शामिल कर लिया गया है)

डोलर हेलो-वर्ल्ड चलाते हैं

नीचे संदेश प्रदर्शित होना चाहिए

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

नोट: यदि यह विफल रहता है, तो कमांड को फिर से चलाएँ: DOCKER_HOST = "tcp: //0.0.0.0.0 - 2375" निर्यात करें

निर्यात DOCKER_HOST = "tcp: //0.0.0.0: 2375"

संदर्भ: https://docs.docker.com/engine/install/ubuntu/ सत्र: INSTALL DOCKER Engine

कर्ता के अन्य संस्करणों के लिए जिसे ubuntu के साथ स्थापित किया जा सकता है, नीचे दिए गए कमांड का उपयोग करके भंडार देखें:

apt- कैश मैडिसन docker- सी.ई.

फिर डॉकटर का वांछित संस्करण स्थापित करें:

sudo apt-get install डूकर-सी = docker-ce-cli = containerd.io


0

उन सभी के लिए जो स्थापना के समय डॉकर के साथ समस्या रखते हैं।

डॉकटर सेवा में विफलता की ओर इशारा करते हुए एक त्रुटि, नीचे दिए गए आदेशों को करें।

$ sudo apt update

$ sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

$ sudo apt update

$ apt-cache policy docker-ce

$ sudo apt install docker-ce

-1

इस समस्या को स्थायी रूप से हल करके हल किया जा सकता है


लगता है जैसे मुझे service start dockerकंप्यूटर को रिबूट करने के लिए हर बार डॉकटर सेवा शुरू करने की आवश्यकता है ।
प्राण कुमार सरकार

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