डॉकर डेकर डेमॉन से कनेक्ट नहीं हो सकता


473

अपने डॉकर संस्करण को अपडेट करने के बाद 0.8.0, मुझे प्रवेश करते समय एक त्रुटि संदेश मिलता है sudo docker version:

Client version: 0.8.0
Go version (client): go1.2
Git commit (client): cc3a8c8
2014/02/19 12:54:16 Can't connect to docker daemon. Is 'docker -d' running on this host?

और मैंने निर्देशों का पालन किया और कमांड दर्ज की sudo docker -d, और मुझे यह मिला:

[/var/lib/docker|2462000b] +job initserver()
[/var/lib/docker|2462000b.initserver()] Creating server
open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory[/var/lib/docker|2462000b] -job initserver() = ERR (1)
2014/02/19 12:55:57 initserver: open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory

मैं समस्या को कैसे हल करूं?


7
क्या आपने doo -d चलाते समय sudo का उपयोग किया था?
बेन व्हेल

मैं ध्यान देता हूं कि यह त्रुटि में है no such file or directory[/var/lib/docker|2462000b]। क्या /var/lib/dockerआपके सिस्टम पर मौजूद है? यदि नहीं, तो मुझे लगता है कि आपको डॉकर को फिर से स्थापित करने की आवश्यकता है।
बेन व्हेल

3
मुझे एक ही समस्या है (एक डेमॉन से कनेक्ट नहीं किया जा सकता है कि 'पीएस' शो अभी भी चल रहा है), सिवाय इसके कि मुझे डेमॉन शुरू करते समय कोई भी 'फ़ाइल नहीं मिली' संदेश नहीं मिलता है। / var / lib / docker मौजूद है।
जोनाथन हार्टले

क्या आप VPS पर docker का उपयोग कर रहे हैं?
सूअर का बच्चा

यहां से डॉकटर डेस्कटॉप स्थापित करें, यह इसे हल करेगा। docs.docker.com/docker-for-mac/install
गाय असफ

जवाबों:


642

लिनक्स

लिनक्स के लिए पोस्ट-स्थापना चरणों प्रलेखन के लिए निम्न चरणों का पता चलता है:

  1. कर्ता समूह बनाएँ ।
    सुडोल ग्रुपडैक डॉकटर
  2. उपयोगकर्ता को डॉकटर समूह में जोड़ें ।
    सूद usermod -aG docker $ (whoami)
  3. लॉग आउट करें और सही अनुमतियों के साथ डॉक रन सुनिश्चित करने के लिए वापस लॉग इन करें।
  4. प्रारंभ करने वाला।
    सुडो सेवा शुरू करने वाले

मैक ओएस एक्स

जैसा कि दयाल ओस्ट्राको कहते हैं कि पर्यावरण चर जोड़ना आवश्यक है:

docker-machine start # Start virtual machine for docker
docker-machine env  # It's helps to get environment variables
eval "$(docker-machine env default)" # Set environment variables

docker-machine startआदेश टिप्पणियां आउटपुट प्रक्रिया गाइड।


हाँ। मेरे लिए यही समस्या थी। मैंने अपने उपयोगकर्ता को डॉकटर समूह में जोड़ा और अब मैं डेमॉन से जुड़ सकता हूं। साभार
बोगदान

एफडब्ल्यूआईडब्ल्यू, विशिष्ट खंड का लिंक यह है
असममित

20
यदि, किसी कारण से, आप लॉगआउट नहीं करना चाहते हैं, तो आप newgrpइस नए समूह में एक नया शेल शुरू करने के लिए कमांड का उपयोग कर सकते हैं । इस तरह newgrp docker:।
डेनिलसन सा मैया

sudo chown $ USER: US $ USER / पथ / to / docker / बाइनरी
Ivor Scott

मेरे पास बैश को फिर से शुरू करने का समय नहीं था। तो alias docker='sudo docker'चाल चली। : p
लोवाबिल

149

लिनक्स

लिनक्स ( CLI से ) पर docker डेमॉन चलाने के लिए:

$ sudo service docker start # Ubuntu/Debian

नोट: $कॉपी और पेस्ट करते समय पात्र को छोड़ दें ।

RedHat / CentOS पर, रन sudo systemctl start docker:।

"आधार" फाइलसिस्टम को इनिशियलाइज़ करने के लिए, रन करें:

$ sudo service docker stop
$ sudo rm -rf /var/lib/docker
$ sudo service docker start

या मैन्युअल रूप से पसंद है:

$ sudo docker -d --storage-opt dm.basesize=20G

docker-machineलिनक्स पर स्थापित करें

लिनक्स पर मशीन बायनेरी स्थापित करने के लिए:

  • स्थानीय स्तर पर:

    install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) $HOME/bin/docker-machine
    
  • वैश्विक:

    sudo bash -c 'install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine'
    

मैक ओ एस

MacOS पर dockerबाइनरी केवल एक क्लाइंट है और आप डॉक डेमॉन को चलाने के लिए इसका उपयोग नहीं कर सकते हैं, क्योंकि डॉकर डेमन लिनक्स-विशिष्ट कर्नेल सुविधाओं का उपयोग करता है, इसलिए आप डॉकर को मूल रूप से ओएस एक्स में नहीं चला सकते हैं। इसलिए आपको इसे docker-machineबनाने के लिए इंस्टॉल करना होगा वीएम और इसे संलग्न करें।

docker-machineMacOS पर स्थापित करें

यदि आपके पास docker-machineअभी तक कमांड नहीं है, तो निम्न विधियों में से किसी एक का उपयोग करके इसे स्थापित करें:

  • काढ़ा आदेश का उपयोग brew install docker-machine docker:।
  • GitHub से मैन्युअल रूप से :

    install -v <(curl https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine
    

देखें: मैक के लिए डॉकर से शुरू करें

docker-machineMacOS पर कॉन्फ़िगर करें

होमब्रे के माध्यम से डॉकर मशीन शुरू करने के लिए , रन करें:

brew services start docker-machine

defaultमशीन बनाने के लिए (यदि आपके पास एक नहीं है, तो देखें docker-machine ls:):

docker-machine create --driver virtualbox default

फिर डॉकर क्लाइंट के लिए वातावरण सेट करें:

eval "$(docker-machine env default)"

फिर कंटेनरों को सूचीबद्ध करके दोबारा जांच करें:

docker ps

देखें: डॉकर मशीन और एक स्थानीय वीएम के साथ शुरू करें


MacOS पर Docker.app स्थापित करें

वैकल्पिक रूप से उपरोक्त समाधान के लिए, आप एक डॉकर एप्लिकेशन इंस्टॉल कर सकते हैं:

brew cask install docker

अधिक जानकारी के लिए इस पोस्ट को देखें । इसे भी देखें: मैकओएस पर डॉकर डेमॉन से कनेक्ट नहीं किया जा सकता


1
सुडोकू सेवा शुरू करने वाले ने Ubuntu 14.04 पर डॉकर 1.9.1 के साथ काम शुरू किया

धन्यवाद। यह मेरे लिए Ubuntu 14.04 पर काम किया है। बाकी सब विफल रहा।
nyxee

यह केवल बात यह है कि 2010 से अधिक उम्र के हार्डवेयर के साथ पर मैक OSX मेरे लिए काम किया मैं स्थापित करने के लिए किया था है docker-toolboxसे docs.docker.com/toolbox/toolbox_install_mac
विक्रम

2
मुझे होमब्रे के माध्यम से डॉक-कम्पोज़, डॉक-मशीन और डॉकटर स्थापित करने की आवश्यकता थी, फिर यह ठीक काम किया!
एंटालपी

मैं इस समस्या पर था doos 18 के साथ CentOS 7.6 sudo rm -rf /var/lib/dockerऔर फिर पुनः आरंभ किया था चाल। मैं वास्तव में फंस गया था और किसी अन्य समाधान ने मेरे लिए काम नहीं किया।
Ashkan

142

यदि आप OS X पर Docker चला रहे हैं, तो निम्नलिखित eval को चलाना मेरे लिए काम कर रहा है।

eval "$(docker-machine env default)"

यदि आप प्रत्येक टर्मिनल सत्र पर इस निष्कासन विवरण को नहीं चलाना चाहते हैं, तो आप इसे अपने साथ जोड़ सकते हैं bash_profile:

#Docker
eval "$(docker-machine env default)"

bash_profileपरिवर्तनों को प्रभावी करने के लिए टर्मिनल सत्र को फिर से शुरू करना या स्रोत चलाना सुनिश्चित करें ।


3
यहाँ भी, अगर मैं इसे अकेले कोशिश करता हूं तो मुझे अक्सर मिलता है Error checking TLS connection: Host is not running... कमांड docker-machine start defaultके चाल के बाद इस eval को चलाना ।
एमिलियो फेरुकी

100

विस्तृत जाँच के बाद, मैक ओएस एक्स के रीबूट होने के बाद (या डॉक वर्चुअल मशीन को पुनः आरंभ किया गया) के बाद यह समस्या हर बार प्रतीत होती है, जो डॉकर क्लाइंट को डॉकर डेमॉन से कनेक्ट होने से रोकती है।

समस्या को हल करने के लिए, आप या तो:

ए) आधिकारिक इंस्टॉलर ( https://www.docker.com/products/docker-toolbox ), या बस का उपयोग करके डॉकटर टूलबॉक्स को पुनर्स्थापित करें

बी) निम्नलिखित आदेशों को क्रम में चलाएं:

# First make sure that the virtual machine is running
docker-machine start default

# Regenerate TLS connection certs, requires confirmation
docker-machine regenerate-certs default

# Finally, set env
eval "$(docker-machine env default)"

सी) (बी) के रूप में भी, आप सभी तीन कमांड चलाने के लिए निम्न पंक्ति को कॉपी और पेस्ट कर सकते हैं:

docker-machine start default; docker-machine regenerate-certs default; eval "$(docker-machine env default)"

यदि आपको निम्न त्रुटि मिलती है:

Error getting SSH command: Something went wrong running an SSH command!
command : cat /etc/os-release
err     : exit status 255
output  :

बस तीन आदेशों को फिर से चलाएं, और इसे दूसरी बार काम करना चाहिए।


6
मुझे होस्ट नहीं मिल रहा है: "डिफ़ॉल्ट"
रोमन गॉफमैन

@RomanGaufman: क्या यह आपके लिए काम करता है: docker- मशीन डिफ़ॉल्ट रूप से शुरू होती है?
KAD

1
@RomanGaufman को सफलतापूर्वक निष्पादित होने से पहले मुझे अपने टर्मिनल को फिर से शुरू करना था।
1858 पर anon58192932

वर्चुअल बॉक्स vm का हर बार जब आप अपने मैक को रिबूट करते हैं तो यह परिवर्तन होता है?
कुई पेंगफेई P

@ रोमनगॉफ़मैन की त्रुटि का उत्तर (वर्तमान में) नीचे दिए गए हैं: stackoverflow.com/a/34887761/634576
डेव श्विसगुथ

47

यह आमतौर पर तब होता है जब आप dockerसमूह में नहीं होते हैं । आप अपने आप को dockerसमूह के साथ जोड़ सकते हैं :

sudo usermod -aG docker yourusername

या

sudo usermod -aG docker $(whoami)

इसके बाद, आपको लॉगआउट करना होगा और सर्वर में वापस लॉग इन करना होगा।

वैकल्पिक रूप से, आप sudoहर डॉकर को कमांड कर सकते हैं ।


5
और अगर समूह मौजूद नहीं है: sudo groupadd docker
izy

30

यदि उपरोक्त सभी अन्य समाधान काम नहीं करते हैं, तो आप के स्वामित्व की जाँच करने का प्रयास कर सकते हैं /var/run/docker.sock :

ls -l /var/run/docker.sock

यदि आप स्वामी नहीं हैं, तो आदेश के साथ स्वामित्व बदलें:

sudo chown *your-username* /var/run/docker.sock

फिर आप आगे जा सकते हैं और डॉकर कमांड को परेशानी से मुक्त करने का प्रयास कर सकते हैं: डी


1
मैंने इस जवाब के साथ शुरुआत की है, और इससे मुझे मदद मिली!
मार्टिना

2
इस दृष्टिकोण के साथ समस्या यह है कि, आपको हर बार इस कदम को दोहराना पड़ता है जब डेमॉन फिर से शुरू होता है
MFIhsan

Hi @MFIhsan एक स्मार्ट sys-admin आपको बताएगा कि बस उन कमांड की एक bash स्क्रिप्ट बनाएं और इसे crontab में जोड़ें, इसे रीबूट / स्टार्टअप पर चलाने के लिए यहाँ बताया गया है> stackoverflow.com/a/29247942-3469960
kevthanewversi

एक आम उपयोगकर्ता को कभी भी खुद का मालिक नहीं होना चाहिए! यदि आप जुर्राब नहीं करते हैं, तो सुनिश्चित करें कि आप पहिया समूह में हैं और समूह जुर्राब का है ... जुर्राब मालिकों के समूह का नहीं!
२०:२० पर क्रेजीमैर्लिन

16

डोकर काम क्यों नहीं कर रहा है, यह पता लगाने का सबसे अच्छा तरीका है कि डेमन को मैन्युअल रूप से चलाना।

$ sudo service docker stop
$ ps aux | grep docker  # do this until you don't see /usr/bin/docker -d
$ /usr/bin/docker -d

डॉकर डेमन STDOUT में प्रवेश करता है, इसलिए यह जो कुछ भी कर रहा है उसे थूकना शुरू कर देगा।

यहाँ मेरी समस्या क्या थी:

[8bf47e42.initserver()] Creating pidfile
2015/01/11 15:20:33 pid file found, ensure docker is not running or delete /var/run/docker.pid

ऐसा इसलिए था क्योंकि उदाहरण को किसी अन्य वर्चुअल मशीन से क्लोन किया गया था। मुझे बस पिडफाइल को हटाना था, और बाद में सब कुछ काम किया।

बेशक, आँख बंद करके यह मानने के बजाय कि यह काम करेगा, मैं सुझाव दूंगा कि मैन्युअल रूप से एक बार फिर से चलें और सेवा को शुरू करने से पहले किसी अन्य त्रुटि के लिए लॉग आउटपुट की समीक्षा करें।


1
यह भी मुझे इस मुद्दे को खोजने में मदद मिली (हालांकि मैं दुर्भाग्य से आपके उत्तर के बाद देखा)। मेरा गायब apparmorपैकेज था।
पियरे डी लेसपैन

इस समाधान ने मेरे लिए काम किया। मैंने /var/run/docker.pid को हटाने के बाद, मैं आखिरकार docker को प्रारंभ करने में सक्षम हुआ।
jirikadlec2

3
चेतावनी: it -d ’पदावनत है, इसे जल्द ही हटा दिया जाएगा। उपयोग देखें। WARN [0000] कृपया इसके बजाय 'docker डेमॉन' का उपयोग करें।
जुआनफ

3
ध्वज प्रदान किया गया लेकिन परिभाषित नहीं किया गया: -d
लुइस डी सूसा

डिबग डेमन को मैन्युअल रूप से डीबग सक्षम उपयोग के साथ नवीनतम संस्करणों में चलाने के लिए:dockerd -D
लुइस मिगुएल सेरानो

14

यदि आपको संदेश मिलता है Can't connect to docker daemon. Is 'docker -d' running on this host?, तो आप इसे देख सकते हैंdocker version

यदि आप देखते हैं कि डॉकर क्लाइंट जैसी जानकारी चल रही है। लेकिन डॉकर सर्वर नहीं है , यह स्पष्ट रूप से आपको डॉकर सर्वर को शुरू करने की आवश्यकता है।

CentOS में, आप serviceडॉकर सर्वर को शुरू या बंद करने के लिए उपयोग कर सकते हैं ।

$ sudo service docker stop
$ sudo service docker start

फिर, आपके टाइप करने के बाद docker version, आपको डॉकर क्लाइंट और डॉकर सर्वर की जानकारी मिल जाएगी , और डॉकर डेमन शुरू कर दिया गया है।


2
sudo service docker startमेरे लिए Ubuntu 14.04 पर भी काम किया।
फन जूल

Cent os 7, इसे हर बार मुझे docker को शुरू करना होगा।
धान

@ डंडी आपको यह बताते हुए सेवा को सक्षम करने की आवश्यकता है, और यह सिस्टम शुरू होने पर चलेगा और पृष्ठभूमि में चलता रहेगा।
CrazyMerlin

इन सभी उत्तरों में कहा गया है: "आपको सिस्टम को प्रारंभ करने के लिए sudo की आवश्यकता है" हमेशा यह मानें कि शुरू करने के लिए एक docker सेवा है। यदि डॉकटर को स्थापित करने में कोई समस्या थी, तो एक सेवा कॉन्फ़िगरेशन फ़ाइल भी मौजूद नहीं हो सकती है, जिस स्थिति में आपको प्राप्त होता है: "यूनिट docker.service लोड नहीं किया गया"
CrazyMerlin

12

एक है ps aux | grep dockerअगर डेमॉन चल रहा है देखने के लिए। अगर नहीं चलाया गया/etc/init.d/docker start


5
मेरी भी यही समस्या है। 'ps' से पता चलता है कि मेरी docker प्रक्रिया अभी भी चल रही है।
जोनाथन हार्टले

स्टॉपिंग और डॉकटर (जो पहले से चल रहा था) ने मुझे सीधा किया।
काइल

14
sudo service docker startमुझे "docker start / sudo service docker status
run

12

मैं इसे स्थापित करने के बाद डोकर पुनः आरंभ करता हूं:

$ sudo service docker stop
$ sudo service docker start

और यह काम करता है।


9

मुझे भी ऐसी ही समस्या है। मुझे लॉगआउट करना पड़ा और फिर से शेल में लॉग इन करना पड़ा क्योंकि मैंने अभी Docker इंस्टॉल किया है और निम्नलिखित कमांड मेरे वातावरण में नहीं दिखा है।

export DOCKER_HOST=127.0.0.1:4243 >> ~/.bashrc

3
मुझे बस लॉगआउट करने और लॉग इन करने की आवश्यकता थी। सभी ठीक हो गए!
एम। अकेडमी में

इससे मेरी समस्या हल हो गई! मैं WSL के रूप में Ubuntu 16.04 चला रहा हूं। केवल एक चीज जिसे मुझे बदलना था वह डिफ़ॉल्ट पोर्ट संख्या थी: DOCKER_HOST = 127.0.0.1: 23 >> >> ~ / .bashrc
एलेक्स

9

मुझे इस समस्या का सामना करना पड़ा है, और मैंने इन आदेशों का उपयोग करके डॉकर को पुनः आरंभ किया है:

$ sudo service docker stop
$ sudo service docker start

लेकिन मैंने अपनी समस्या का समाधान नहीं किया, क्योंकि मैं बिना अपने डॉकर कमांड को निष्पादित करना भूल गया था sudo । जो लोग इस समस्या का सामना करते हैं, उनके लिए यह जाँचने का प्रयास करें।

प्रयत्न

$ sudo docker info

इसके अलावा:

$ docker info

उबंटू ज़ेनियल पर चलने की कोशिश करते समय यह वास्तव में मेरी समस्या docker buildथी।
असनाजग

9

आप कमांड का उपयोग कर सकते हैं

sudo service docker stop && sudo service docker start

बस इसे शुरू करने के लिए।


3
या sudo service docker restart, यह आसान है 1
fr1sk

8

मेरे पास एक ही त्रुटि है और कोशिश कर रहा है docker-machine regenerate-certsयाeval.. मेरे लिए काम नहीं की गई है।

यह OS X 10.11.3 (El Capitan) और Docker v1.10.1 पर है। मैं इसे हटाने और फिर से डॉक-मशीन को फिर से बनाकर ठीक करने में सक्षम था।स्रोत

यदि चल रहा है docker-machine ls, तो यह आपको नीचे दिए गए समान आउटपुट को दिखाता है;

डाक में काम करनेवाला मज़दूर

अनजान

त्रुटियों

डॉक वर्जन क्वेरी करने में असमर्थ: डॉक इंजन एंडपॉइंट से कनेक्ट नहीं हो सकता

के साथ अपने डॉकर मशीन को हटाने की कोशिश करें;

docker-machine rm -f default

defaultआपका डॉकर मशीन नाम कहां है फिर;

docker-machine create -d virtualbox default

एक नई डॉकर मशीन बनाता है।

यह जांचें कि अब सब कुछ सामान्य है (कोई त्रुटि या अज्ञात डॉकर नहीं):

docker-machine ls

अंत में "$(docker-machine env default)"आप जारी रखने से पहले या डॉकर क्विकस्टार्ट टर्मिनल को चलाना न भूलें जो आपके लिए है ...


6

मेरी भी यही समस्या थी - "डॉकटर डेमॉन से जुड़ नहीं सकते।" (सिवाय मुझे सर्वर को शुरू करने के प्रयास में कोई 'फ़ाइल नहीं मिली' त्रुटि मिली।)

'ps' से पता चला कि "/ usr / bin / docker -d" अभी भी चल रहा था

मुझे एहसास हुआ कि मैं वास्तव में स्वयं सर्वर चलाने में कभी सफल नहीं हुआ। हर कोशिश ने उत्पादन किया था

...
2014/03/24 21:57:29 pid file found, ensure docker is not running or delete /var/run/docker.pid

इसलिए मुझे विश्वास हो गया कि स्थापित करने वाले ने शायद डेमर्ट को अपस्टार्ट के साथ पंजीकृत किया था, जिसने इसे मेरे लिए शुरू किया था। इसलिए, मैन्युअल रूप से पुनरारंभ करने के लिए डेमन को मारने की कोशिश करना विफल रहता है (ऑपरेशन की अनुमति नहीं है)। तो मैंने ए

sudo kill -9 <PID>

डेमॉन प्रक्रिया पर। एक और डेमन ने तुरंत अपनी जगह ले ली, और यह नया अब मेरे CLI क्लाइंट को कनेक्ट करता है:

$ sudo docker info
Containers: 0
Images: 0
Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Dirs: 0
WARNING: No memory limit support
WARNING: No swap limit support

6

वर्तमान उपयोगकर्ता को dockerसमूह में जोड़ने का प्रयास करें :

sudo usermod -aG docker $USER

फिर लॉग आउट और लॉगिन करें।


6

Docker CE ऐप का उपयोग करें

मैक ओ एस

MacOS के लिए नए डॉकर कम्युनिटी एडिशन ऐप का उपयोग करें । उदाहरण के लिए:

  1. आपके द्वारा अब तक स्थापित किए गए सभी डॉकर होमब्रेव पैकेज अनइंस्टॉल करें:

    brew uninstall docker-compose
    brew uninstall docker-machine
    brew uninstall docker
    
  2. मैन्युअल रूप से या Homebrew-Cask के माध्यम से एक ऐप इंस्टॉल करें :

    brew cask install docker
    

    ध्यान दें: इस एप्लिकेशन के लिए आवश्यक लिंक पैदा करेगा docker, docker-compose, docker-machine, आदि

  3. ऐप चलाने के बाद, स्टेटस मेन्यू में डॉकर व्हेल आइकन चेकआउट करें।

  4. अब आप का उपयोग करने के लिए सक्षम होना चाहिए docker, docker-compose, docker-machineमें हमेशा की तरह आदेशों टर्मिनल

सम्बंधित:

लिनक्स / विंडोज

डाउनलोड पृष्ठ से डॉकर सीई डाउनलोड करें और निर्देशों का पालन करें।


2018-5-20 नोट: मैकओएस पर डॉकटर सीई ऐप बहुत भद्दा है। हर बार जब मैं इसे खोलता हूं तो यह सही तरीके से जम जाता है, कुछ भी नहीं कर सकता। मैंने Google की कोशिश की और समस्या को ठीक किया, अभी तक इस पर काम कर रहा है
नामनाम

1
यह रिपोर्ट की गई समस्या के लिए सही उत्तर है, धन्यवाद!
परांजा

6

मुझे पता था कि इस पोस्ट में पहले से ही बहुत सारे उत्तर हैं। बस मैं एक सरल उत्तर जोड़ना चाहूंगा जो उपर्युक्त समस्या को हल करता है।

sudo systemctl start docker

उपरोक्त कमांड चलाएँ और यह सभी docker संबंधित थ्रेड्स / सेवाओं को प्रारंभ करेगा।


5

मैं सिर्फ एक ही मुद्दा था, अमेज़न AWS पर चल रहा है ।

यहाँ मैंने क्या प्रयास किया है:

  • docker-machineपहले से मौजूद AWS उदाहरण के साथ स्थानीय रूप से सेट करें
  • जेनेरिक सेटअप का इस्तेमाल किया
  • यह एक प्रकार से जुड़ा हुआ है, लेकिन जब से रिमोट पोर्ट बंद हो गया, यह विफल हो गया
  • उसके बाद, डोकर डेमॉन ने शुरू करने से इनकार कर दिया, लेकिन रनिंग dockerdने काम किया ...

रिमोट मशीन पर इसका परीक्षण किया गया:

service docker start # Also restart, no success
systemctl start docker # Also restart, no success
dockerd # Success

मैंने /var/lib/dockerसब कुछ हटा दिया और अनइंस्टॉल कर दिया, लेकिन पुनर्स्थापना के बाद कोई सफलता नहीं मिली। दुर्भाग्य से मेरे पास विफलताओं से कोई लॉग संग्रहीत नहीं है, लेकिन docker.serviceबस शुरू करने से इनकार कर दिया।

हालाँकि, आखिरकार मेरे मुद्दे का हल क्या था:

sudo usermod -aG docker $(whoami)

4

डॉकर की डीओसी साइट के बाद: डॉकर को एक गैर-रूट उपयोगकर्ता के रूप में प्रबंधित करें

1) डॉकर ग्रुप बनाएं

sudo groupadd docker 

2) उपयोगकर्ता समूह के विशेषाधिकार प्राप्त करने के लिए docker समूह से संबंधित है।

sudo usermod -aG docker $USER

जांचें कि क्या DOCKER_HOST पर्यावरण चर आपके शेल के लिए सेट है।

env | grep DOCKER_HOST

यदि यह मौजूद है,

unset DOCKER_HOST

तो यह काम करना चाहिए:

docker run hello-world

1
आप unset DOCKER_HOSTमेरे लिए एक जीवन रक्षक काम हैं
user3014595

4

यदि आप डॉकर टूल का उपयोग करके ओएस एक्स पर चल रहे हैं, तो इसका पालन करें।

डेमॉन को पुनरारंभ करें और अपने पर्यावरण को कॉन्फ़िगर करें:

docker-machine restart

और तब

docker-machine env

आखिरकार,

eval $(docker-machine env)

डेमन चल रहा है परीक्षण करने के लिए:

docker ps -aया docker-machine ls। यह सभी कंटेनरों को सूचीबद्ध करेगा।


2

मुझे भी यही समस्या हुई। CentOS 6.5 में:

ps aux |grep `cat /var/run/docker.pid`

यदि यह दिखाता है कि कोई डॉकर डेमॉन प्रक्रिया मौजूद नहीं है, तो मैं टाइप करता हूं:

docker -d

फिर Ctrl+ Dडॉकटर को रोकने के लिए। क्योंकि हम -dविकल्प का उपयोग करते हैं , डॉकर डेमन के रूप में चलेगा। अब हम कर सकते हैं:

service docker start

फिर मैं ए docker pull centos। बस इतना ही।

ध्यान दें: यदि ये काम नहीं करते हैं, तो आप कोशिश कर सकते हैं yum update, और फिर इन्हें फिर से दोहरा सकते हैं, क्योंकि मैं yum installइन से पहले।


2

डोकर सेवा न चल रहा हो।

यदि आप RedHat / Fedora / CentOS पर हैं, तो कृपया यह प्रयास करें:

sudo systemctl start docker

यदि आप उबंटू / डेबियन पर हैं:

sudo service start docker

आपके मेजबान और संबंधित पोर्ट पर डॉकर चलने लगेगा।


1

जांचें कि क्या आप डॉकटर मशीन का उपयोग कर रहे हैं :)

रन docker-machine env defaultको चाल चलनी चाहिए।

क्योंकि प्रलेखन के अनुसार:

Docker Machine एक उपकरण है जो आपको वर्चुअल होस्ट पर Docker Engine को स्थापित करने देता है, और docker-machineकमांड के साथ मेजबानों का प्रबंधन करता है । आप अपने स्थानीय मैक या विंडोज बॉक्स पर, अपने कंपनी नेटवर्क पर, अपने डेटा सेंटर में या AWS या डिजिटल महासागर जैसे क्लाउड प्रदाताओं पर डॉकर्स होस्ट बनाने के लिए मशीन का उपयोग कर सकते हैं।

docker-machineआदेशों का उपयोग करके , आप प्रबंधित होस्ट को शुरू, निरीक्षण, रोक और पुनः आरंभ कर सकते हैं, डॉकर क्लाइंट और डेमन को अपग्रेड कर सकते हैं, और अपने होस्ट से बात करने के लिए डॉकर क्लाइंट को कॉन्फ़िगर कर सकते हैं।

एक चालू, प्रबंधित होस्ट में मशीन CLI को इंगित करें, और आप dockerउस होस्ट पर सीधे कमांड चला सकते हैं । उदाहरण के लिए, चलाने के docker-machine env defaultएक मेजबान कहा जाता है करने के लिए बात करने के लिए default, पूरा करने के लिए स्क्रीन पर निर्देशों का पालन करें envसेटअप, और रन docker ps, docker run hello-world, और इसके आगे।

https://docs.docker.com/machine/overview/


1
  1. मेरा भी यही मुद्दा था। समस्या डॉक-डेमॉन और डॉक-क्लाइंट को आवंटित सॉकेट्स में थी।
  2. पहले, docker.sock पर docker- क्लाइंट के लिए अनुमति निर्धारित नहीं की गई थी। आप "sudo usermod -aG docker $ USER" का उपयोग करके इसे सेट कर सकते हैं
  3. फिर अपने bash फ़ाइल की जाँच करें जहाँ docker-client चल रहा है, मेरे लिए यह 0.0.0.0:2375 पर था, जबकि docker-daemon यूनिक्स सॉकेट पर चल रहा था। (यह dockerd की कॉन्फ़िगरेशन फ़ाइल में सेट किया गया था)।
  4. बस बैश-लाइन टिप्पणी करें और यह ठीक काम करेगा।
  5. लेकिन अगर आप इसे यूनिक्स सॉकेट के बजाय टीसीपी पोर्ट पर काम करना चाहते हैं, तो डॉकर्ड की कॉन्फ़िगरेशन फ़ाइल को बदलें और इसे 0.0.0.0.2375 पर सेट करें और लाइन को बैश में रखें क्योंकि यह मौजूद है या इसे 0.0.0.0 पर सेट करें: 2375।

1

ठीक करने के लिए, आपको टर्मिनल में निम्नलिखित कमांड जारी करने की आवश्यकता है। मैं प्रत्येक चरण की व्याख्या करूँगा:

# Uninstall Docker from apt packages
$ sudo apt-get remove docker docker.io

# Remove it from the libraries just to be
# sure it's gone forever
$ sudo rm -rf /var/lib/docker/*

अब, यदि आप चीजों को सरल बनाना चाहते हैं और अधिक समय प्राप्त करना चाहते हैं, तो आप मेरी initस्क्रिप्ट को पैरामीटर के साथ चला सकते हैं installDocker:

# Pull the init script from GitHub
$ wget https://github.com/dminca/dotfiles/blob/master/init

# Add rights to run the script
$ chmod 755 init

# Just run the script with the installDocker parameter
$ ./init installDocker

एक रिबूट वैकल्पिक है, लेकिन मेरा सुझाव है कि आप इसे सुनिश्चित करें कि सभी आसानी से चलें।


1

मुझे उबेर 14.04 पर डॉकर 1.10 चलाने में समान समस्या थी और दिए गए उत्तरों में से किसी ने भी काम नहीं किया। मेरे लिए, डोकर डेमॉन को चलाते समय स्टोरेज ड्राइवर को निर्दिष्ट करना था।

sudo docker daemon --storage-driver=devicemapper

1

यदि आप gitlab-ci / gitlab-runers का उपयोग करते हैं, तो यदि आपको एक्सेस करने की अनुमति नहीं है, तो आपको वह त्रुटि मिलती है /var/run/docker.sock

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

इस समस्या को हल करने के लिए:

sudo usermod -aG docker gitlab-runner

इसके साथ सत्यापित करें:

sudo -u gitlab-runner -H docker info

उम्मीद है की वो मदद करदे।


0

यदि पुनर्जनन TLS प्रमाणपत्र काम नहीं करता है

docker-machine regenerate-certs default

Docker मशीन को पुनः आरंभ करने और env चर सेट करने का प्रयास करें:

docker-machine restart default
eval $(docker-machine env default)

जाँच करें कि क्या मशीन के साथ चल रहा है:

docker-machine ls

या वैकल्पिक रूप से

docker run hello-world

इसने मेरे लिए काम किया। हालाँकि, यदि आपके पास अभी भी डेमॉन नहीं है, तो डॉकर की समस्या निवारण पृष्ठ एक नई मशीन को रोकने, हटाने और बनाने की प्रक्रिया का विवरण देता है।


0

मुझे यह भी मुद्दा मिला "डॉकटर डेमन से कनेक्ट नहीं किया जा सकता है। क्या इस मेजबान पर डॉक डेमॉन चल रहा है?"।

मैं इस्तेमाल करना भूल गया था sudo। आशा है कि यह हमारी कुछ मदद करेगा।

$:docker images
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

$:sudo docker images
REPOSITORY   TAG   IMAGE ID   CREATED   SIZE
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.