MacOS पर डॉकर डेमॉन से कनेक्ट नहीं किया जा सकता


204

मैं आम तौर पर काढ़ा के साथ अपने OSX पर अपने ऐप्स प्रबंधित करना पसंद करता हूं

मैं डॉकटर, डॉकटर-कंपोज और डूकर-मशीन स्थापित करने में सक्षम हूं

docker --version
Docker version 17.05.0-ce, build 89658be
docker-compose --version
docker-compose version 1.13.0, build unknown
docker-machine --version
docker-machine version 0.11.0, build 5b27455

मैंने 'डॉकर फॉर मैक' ऐप डाउनलोड और रन नहीं किया।

हालाँकि जब मैं दौड़ने की कोशिश करता हूँ

> docker run -d -p 80:80 --name webserver nginx
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.

मैंने पहले ही sock फाइल को चेक कर लिया है

ls -lah /var/run/docker.sock /var/tmp/docker.sock
ls: /var/run/docker.sock: No such file or directory
ls: /var/tmp/docker.sock: No such file or directory

मैंने इस प्रस्तावित समाधान की भी कोशिश की है: मैक ओएस एक्स सुडो डॉकटर डॉकटर डेमन से जुड़ नहीं सकता है। क्या इस मेजबान पर डोकर डेमॉन चल रहा है?

लेकिन मुझे यह त्रुटि संदेश मिला:

$ eval $(docker-machine env default)
Host does not exist: "default"

क्या कमांड लाइन टूल द्वारा चलाने के लिए डॉकटर सेवा प्राप्त करना संभव है?


2
लॉन्चपैड से डॉकर एप्लिकेशन लॉन्च करें, एक संवाद दिखाएगा जिसमें पूछा जाएगा कि ऐप चलाने के लिए, इस ऐप के लिए कुछ विशेषाधिकार दिए गए हैं, इसके बाद, डॉकर गेम में वापस आ गया है।
राफेल केर

मेरे मामले में एक अन्य उपयोगकर्ता लॉगिन था, जो असफल हो रहा था। अन्य उपयोगकर्ता को लॉगआउट करें और फिर काम करें
रज़ा अहमद

जवाबों:


466

एक समर्थित मैक पर, चलाएं:

brew cask install docker

इसके बाद डॉकर ऐप लॉन्च करें । अगला पर क्लिक करें। यह विशेषाधिकार प्राप्त लोगों के लिए पूछेगा। पुष्टि करें। व्हेल आइकन शीर्ष पट्टी में दिखाई देना चाहिए। इसे क्लिक करें और "डॉकर चल रहा है" के लिए प्रतीक्षा करें।

dockerअब आपको कमांड चलाने में सक्षम होना चाहिए :

docker ps

क्योंकि डॉकटर एक सिस्टम-स्तरीय पैकेज है, आप इसका उपयोग करके स्थापित नहीं कर सकते हैं brew install, और इसके बजाय पीपा का उपयोग करना चाहिए।

नोट: यह समाधान केवल उन Macs के लिए काम करता है जिनके CPU वर्चुअलाइजेशन का समर्थन करते हैं, जिनमें पुराने Macs शामिल नहीं हो सकते हैं।


10
यह स्वीकृत उत्तर होना चाहिए। इंस्टॉल और खोजकर्ता के बाद लॉन्च पैड पर जाएं
जो लॉयड

39
मैं एक काढ़ा स्थापित docker किया था और जब तक मैं आदेश काढ़ा पीपा स्थापित docker चला app स्थापित नहीं किया गया था। धन्यवाद!
जंभाई

2
यदि कमांड अभी भी काम नहीं करता है तो भी पीक इंस्टॉल (और डॉकर व्हेल दिखाता है कि यह पासवर्ड दिए जाने के बाद चल रहा है)?
Vol7ron

2
यह समाधान केवल उन मैक के लिए काम करता है जिनके सीपीयू वर्चुअलाइजेशन का समर्थन करते हैं। उदाहरण के लिए, यह 2009 के मैक प्रो पर काम नहीं करता है । क्या आप इस महत्वपूर्ण तथ्य को शामिल करने के लिए अपना जवाब संपादित कर सकते हैं?
जॉन वाई

3
इससे मुझे मदद मिली क्योंकि मैंने brew install dockerशुरुआत में इसका इस्तेमाल किया था। brew installसीएलआई सेवाओं से निपटने और brew cask installएक विस्तार है जो ग्राफिकल यूजर इंटरफेस के साथ सेवाओं से निपटने में मदद करता है।
बिनॉय एस कुमार

106

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

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

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

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

    $ curl -L https://github.com/docker/machine/releases/download/v0.16.1/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine
    $ chmod +x /usr/local/bin/docker-machine
    

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

Virtualbox स्थापित करें

docker-machineVirtualBox पर निर्भर करता है स्थापित किया जा रहा है और अगर यह मामला नहीं है विफल हो जाएगा। यदि आपके पास पहले से ही वर्चुअलबॉक्स है, तो आप इस चरण को छोड़ सकते हैं।

  • Homebrew का उपयोग करना: brew cask install virtualbox
  • Virtualbox.org पर मैन्युअल रूप से रिलीज़ का उपयोग करना

आपको OS X सुरक्षा पैनल में वर्चुअलबॉक्स कर्नेल एक्सटेंशन को सक्रिय रूप से लोड करने की आवश्यकता होगी और फिर अगले आदेशों के लिए मशीन को पुनरारंभ करने के लिए आगे बढ़ना होगा ताकि विफल न होError: VBoxNetAdpCtl: Error while adding new interface

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

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

docker-machine create --driver virtualbox default

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

eval "$(docker-machine env default)"

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

docker ps

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


सम्बंधित:


7
यह स्वीकृत उत्तर होना चाहिए। यह स्पष्ट रूप से रेखांकित करता है कि) यह काम क्यों नहीं करता है, ख) OSX और सी पर यूआई डाउनलोड किए बिना इसे काम करने के निर्देश और आगे पढ़ने के लिए संदर्भ लिंक।
user2490003

1
मुझे काम करने के लिए brew cask install virtualbox
डॉकटर

1
एक शुरू करने के लिए docker-machineलॉग इन, उपयोग पर brew services start docker-machineया, आप Homebrew का उपयोग नहीं करना चाहते हैं, तो इस पेज के अनुभाग "स्टार्टअप पर प्रारंभ स्थानीय मशीनों" देख (मैक के लिए निर्देश शामिल हैं)।
क्रिस एच।

40

मेरे पास यही मुद्दा था जिसे मैंने इसे निम्नलिखित चरणों में हल किया:

docker-machine restart

टर्मिनल (या iTerm2, आदि, आदि) से बाहर निकलें और पुनरारंभ करें

eval $(docker-machine env default)

मैंने भी इसका उत्तर दिया


2
Eval

15

मेरे पास मैक ओएस है और मैं एप्लिकेशन को खोलता हूं Launchpadऔर चुनता हूं docker। से resetटैब पर क्लिक करें restart


हां, आपको पहले डॉकर एप्लिकेशन
एंडर

12

डिफ़ॉल्ट बनाने के लिए यह प्रयास करें।

docker-machine create default

5
यह बस मुझे दिया ... docker- मशीन डिफ़ॉल्ट बनाना Create CA: /User/stens/.docker/machine/certs/ca.pem क्लाइंट प्रमाण पत्र बनाना: /User/stens/.docker/machine/certs-cert.pem रनिंग प्री-क्रिएट चेक ... प्री-क्रिएट चेक के साथ एरर: "VBoxManage नहीं मिला। सुनिश्चित करें कि वर्चुअलबॉक्स इंस्टॉल किया गया है और VBoxManage रास्ते में है" .... जो कि गलत लगता है क्योंकि वर्चुअलबॉक्स अब osx पर docker को चलाने के लिए आवश्यक नहीं है
स्कॉट स्टेंसलैंड

आप के xhyveरूप में अच्छी तरह से उपयोग कर सकते हैं , stackoverflow.com/a/42419979/32453 देखें या बस virtualbox स्थापित करें :)
rogerdpack

और तो क्या हुआ ?
फ्रैंकीफ्रेड

7

OSX पर विश्वास दिलाता हूं कि आपने जारी करने से पहले डॉकर एप्लिकेशन लॉन्च किया है

docker ps

या docker build... आदि ... हाँ यह अजीब और कुछ भ्रामक लगता है जो जारी कर रहा है

docker --version

संस्करण देता है भले ही docker डेमन नहीं चल रहा है ... उन अन्य संस्करण cmds के लिए ditto ... मैं बस बिल्कुल एक ही लक्षण का सामना करना पड़ा ... OSX पर यह व्यवहार linux से अलग है


3

मुझे भी यही समस्या थी। Docker चल रहा है, लेकिन इसे CLI के माध्यम से एक्सेस नहीं किया जा सका।

मेरे लिए "डॉकर क्विकस्टार्ट टर्मिनल.एप्प" निष्पादित करके समस्या का समाधान किया गया था। यह "/ एप्लिकेशन / डॉकटर /" फ़ोल्डर में स्थित है। जब तक मैं टर्मिनल ऐप के इस उदाहरण में काम करता हूं, डॉकर पूरी तरह से काम करता है। अगर दूसरी विंडो की जरूरत है तो मुझे एक बार फिर "क्विकस्टार्ट" ऐप चलाना होगा।

मेरे पास मैक इंस्टॉलेशन के लिए डॉकर है। इसलिए मुझे यकीन नहीं है कि मेरा समाधान होमब्रेव इंस्टॉलेशन के लिए मान्य है।

"डॉकर क्विकस्टार्ट टर्मिनल" ऐप टर्मिनल ऐप लॉन्च करने के लिए अनिवार्य रूप से कुछ ऐप्लिकेशंस लगता है और सभी आवश्यक पर्यावरण चर को आरंभ करने वाली एक स्क्रिप्ट शुरू करता है।

मनाइए कि यह किसी और के लिए सहायक हो !


3

मैं आज तक डॉकटर था, डॉकटर ने कहा कि यह चल रहा है, और निदान अच्छा था। मुझे कुछ विरासत पर्यावरण चर (धन्यवाद https://docs.docker.com/docker-for-mac/troubleshoot/#workarounds-for-common-problems ) को परेशान करने की आवश्यकता थी

unset DOCKER_HOST
unset DOCKER_CERT_PATH
unset DOCKER_TLS_VERIFY

1
वीएम आधारित डॉकटर से मैक इंस्टॉलर के अपडेट के बाद इसने मेरा मुद्दा तय किया। यह वीएम को ढूंढता रहा।
bobomoreno

यदि आप 'कनेक्ट नहीं कर सकते ...' आदि में एक गलत आईपी एड्रेस देखते हैं तो इसका उपयोग करें
bobomoreno

2

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

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


2

आपको इंस्टॉल करने वाले के लिए स्क्रिप्ट निष्पादित करनी चाहिए और उसे कमांड लाइन से लॉन्च करना चाहिए:

brew cask install docker
pip3 install docker-compose
open -a Docker
docker-compose ... 

उसके बाद docker-composeकाम करना चाहिए


मेरे लिए काम किया, धन्यवाद
आत्मा कोडर

1

मिनीब्यूब स्थापित करें और अंधेरे पक्ष में शामिल हों।

https://kubernetes.io/docs/tasks/tools/install-minikube/

$ bash --version
GNU bash, version 5.0.3(1)-release (x86_64-apple-darwin18.2.0)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

eval $(minikube docker-env)

$ docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate     -i /local/swagger.json     -l python     -o /local/test/
[main] INFO io.swagger.parser.Swagger20Parser - reading from /local/swagger.json
[main] WARN io.swagger.codegen.DefaultGenerator - 'host' not defined in the spec. Default to 'localhost'.

मैकबुक प्रो 2018 पर बैश वी 5 के साथ बढ़िया काम करता है। इन दिनों आईएमओ को अन्य सभी डॉकटरों को स्थापित करने की आवश्यकता नहीं है। VM और स्क्रिप्ट स्थापित करें जो मिनीब्यूब के साथ आता है, मेरे अनुभव से docker मशीन को बदल सकता है।


एक अनुवर्ती टिप्पणी के रूप में, मुझे एक और प्रोजेक्ट डब्ल्यू / ओ क्यूब के लिए डॉकटर की आवश्यकता थी और डॉक डेस्कटॉप शानदार काम करता है। बस इसे हमेशा शुरू न करें वरना क्यूब इस पोस्ट से नाराज हो जाता है।
Ligemer

1

मैं अपने मैक पर इसी तरह के मुद्दे का सामना कर रहा था, और मैंने पाया कि डॉकटर मेरी मशीन में नहीं चल रहा था, मैं बस अनुप्रयोगों में गया और व्हेल को आमंत्रित किया और फिर यह काम किया।


0

मैंने पहली बार होमब्रेक के माध्यम से डॉकटर और डॉक-कंपोज़ की कोशिश की, लेकिन इसमें यहाँ सूचीबद्ध समस्या थी। मुझे डॉकर्स की आधिकारिक स्थापना https://docs.docker.com/docker-for-mac/install/ से इंस्टॉल करनी थी और फिर सब कुछ उम्मीद के मुताबिक काम किया।


0

मुझे बस स्पॉटलाइट खोज को चलाना था और जो brew cask installबनाया / एप्लिकेशन फ़ोल्डर के तहत डॉकर एप्लिकेशन को निष्पादित करना था। एक बार जब यह चलाया गया तो इसे पूरा करने के लिए कहा गया। मैं तब दौड़ने में सक्षम थाdocker ps

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