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




ubuntu ubuntu-14.04 (12)

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

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

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

यहां मेरे द्वारा चलाए गए आदेशों का 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 का आउटपुट देखें ps -aux | grep docker ps -aux | grep docker

[email protected]:/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

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

systemctl start docker

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

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

gpasswd -a $USER docker

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


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


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

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

मुझे यह समस्या थी कि डॉकटर को बंद करने के बाद एक कंटेनर 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 

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

चीयर्स!


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

service docker start

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

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

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


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

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/179/run/docker.pid
snap stop docker
snap start docker

उपयुक्त संस्करण संख्या के साथ '179' को बदलना सुनिश्चित करें


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

हल करना

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

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


यहाँ एक समाधान है जो लिनक्स पर मेरे लिए काम करता है

systemctl start docker


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

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

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

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

$ sudo usermod -aG docker

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

sudo dockerd

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

Ubuntu 16.04 उपयोगकर्ता इन चरणों का पालन कर सकते हैं,

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

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

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

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





ubuntu-14.04