विंडोज 10 पर डॉकर "ड्राइवर एंडपॉइंट पर बाहरी कनेक्टिविटी की प्रोग्रामिंग में विफल"


134

मैं $ docker-compose up -dएक परियोजना के लिए उपयोग करने की कोशिश कर रहा हूं और मुझे यह त्रुटि संदेश मिल रहा है:

ERROR: for api cannot start service api: ड्राइवर ने एंडपॉइंट प्रोग्रामिंग एक्सटर्नल कनेक्टिविटी पर बाहरी कनेक्टिविटी को विफल कर दिया dataexploration_api_1 (8781c95937a0b4b0da8da233376f71d2fc35354646ad01140101beb3d14a0b117): उपयोगकर्ता की मातृभूमि के लिए त्रुटि की पुष्टि कर रहा है। प्रोजेक्ट लाते समय त्रुटियों का सामना किया।

मैं सोच रहा था कि क्या यह बंदरगाह है? मैं पहले 8080 पोर्ट की कोशिश कर रहा था। परियोजना मूल रूप से एक मैक पर स्थापित की गई थी और मैंने गिटहब से रिपॉजिटरी को क्लोन किया है।


कृपया जीथब टिकट के लिए एक लिंक जोड़ें ताकि हम सभी वहां जा सकें और इसे बढ़ा सकें।
पूसबूट्स

जवाबों:


270

मुझे अपने विंडोज 10 प्रो / डॉकर v17.06.1-ce-win24 / Docker-Compose v1.14.0 पर विंडोज पॉवर्सशेल x86 का एडमिन मोड में उपयोग करने पर वही त्रुटि संदेश मिला।

समाधान केवल डॉकर को पुनः आरंभ करना था।


मैं विंडोज 10 प्रोफेशनल पर यूजर डॉक वर्जन 18.03.0-ce-win59 (16762)। डॉकर इमेज जेंकिंस / जेनकिंस है: 2.107.2। खींचने के बाद, मैं स्थापित करने के लिए इस कमांड का उपयोग करता हूं docker run -p 8080:8080 --name myJenkins -p 50000:50000 jenkins/jenkins:2.107.2। जेनकिंस सेट करने के बाद, मैं docker stop myJenkinsअन्य कमांड विंडो में उपयोग करता हूं और अपने होस्ट विंडोज 10 को बंद करता हूं। जब मैं विंडोज़ 10 शुरू करता हूं जो स्वचालित रूप से डॉक शुरू होता है, तो मैं कमांड का उपयोग करता हूं docker start myJenkinsऔर परिचित संदेश प्राप्त करता हूं । हालाँकि, पुनः आरंभ करने वाले समस्या का हल करते हैं :)
चार्ल्स वू

1
क्या किसी को पता है यह क्यों होता है? डॉकटर को फिर से हैक करना आसान लगता है, क्या इसे ठीक से हल करने का कोई तरीका है?
स्टॉर्म मुलर

सेम फिक्स ने मेरे लिए मार्च 2019 में काम किया। डोकर डेस्कटॉप संस्करण 2.0.0.3 (31259) चैनल का उपयोग करना: स्थिर बिल्ड: 8858db3 क्लाइंट: डॉक इंजन - सामुदायिक संस्करण: 18.09.2 एपीआई संस्करण: 1.39 जाने संस्करण: Go1.10.8 Git प्रतिबद्ध: 6247962 निर्मित: सन फ़रवरी 10 04:12:31 2019 ओएस / आर्क: विंडोज़ / एएमडी 64 प्रायोगिक: गलत विन 10 संस्करण 10.0.18346.1 (पूर्व रिलीज़ का तेजी से संस्करण)
जॉन्स

एक पर एक ही मुद्दा था MAC और पुनः आरंभ करने वाले के रूप में अच्छी तरह से यह तय ... jesus मैं स्थानीय स्तर पर पूरे docker पर्यावरण को पुनः स्थापित करने से पहले अपने जवाब की जाँच करनी चाहिए ....: D चियर्स दोस्त
Sosomqk

67

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

इस स्थिति में, फास्ट स्टार्टअप को अक्षम करें , या आप शायद हर बार डॉकटर को पुनरारंभ करेंगे जो आपका कंप्यूटर शुरू करता है। यह समाधान यहाँ से प्राप्त किया गया था


6
इसे उत्तर के रूप में स्वीकार किया जाना चाहिए। पुनरारंभ कार्य करता है लेकिन जब आपको इसे हर बार करने की आवश्यकता होती है तो यह कष्टप्रद हो जाता है
विटालि

विंडोज 10 पर उपयोगकर्ताओं को स्विच करते समय मुझे यह त्रुटि मिली
वास्को

58

बस Docker को पुनर्स्थापित करने से विंडोज 10 पर मेरे लिए समस्या ठीक नहीं हुई।

मेरे मामले में, मैंने नीचे दिए गए सटीक चरणों के साथ समस्या को हल किया:

1) "डॉकर डेस्कटॉप" बंद करें

2) नीचे दिए गए आदेश चलाएँ:

net stop com.docker.service
net start com.docker.service

3) फिर से "डॉकर डेस्कटॉप" लॉन्च करें

उम्मीद है कि यह किसी और की मदद करेगा।


3
यह सिर्फ एक do पुनः आरंभ करने की कोशिश करने के बाद मेरे लिए काम करता है! इसके अलावा, इस जोड़े को व्यवस्थापक विशेषाधिकार के साथ चलाना न भूलें
गाड विस्बर्ग

यह काम किया है, लेकिन मैं हर समय विशेषाधिकार विशेषाधिकार नहीं है :(
हसन तारेक

3
मेरे लिए docker सेवा को फिर से शुरू करने के लिए काम किया गया, आमतौर पर बस docker डेस्कटॉप रीस्टार्ट पर्याप्त होता था लेकिन इस बार नहीं ... विंडोज़ 10 पर
docker

यह काम किया! वास्तविक स्वीकृत उत्तर होना चाहिए। धन्यवाद
डॉमिनिक के

मेरे लिए काम किया, thnx!
जी.मैस्ट

9

मुझे वह त्रुटि भी मिली, यदि आप मुख्य कारण जानना चाहते हैं कि त्रुटि क्यों होती है, तो इसका कारण यह है कि डॉकटर पहले से ही एक समान कंटेनर चला रहा है, समस्या को हल करने के लिए (डॉकटर को फिर से शुरू करने से बचें), आपको चाहिए:

docker container ls

आपको कुछ ऐसा ही मिला है:

CONTAINER ID        IMAGE               COMMAND             CREATED
1fa4ab2cf395        friendlyhello       "python app.py"     28 seconds ago

यह चल रहे कंटेनरों की एक सूची है, कंटेनर आईडी (कॉपी Ctrl+ C) लें

अब आपको प्रक्रिया को समाप्त करना होगा (और दूसरी छवि को चलाने दें) इस कमांड को चलाएं।

docker container stop <CONTAINER_ID>

और बस यही! अब आप कंटेनर बना सकते हैं।

अधिक जानकारी के लिए, https://docs.docker.com/get-started/part2/ पर जाएं


7

मुझे पता है कि पहले से ही बहुत सारे उत्तर हैं, लेकिन उनमें से किसी ने भी मेरे लिए समस्या हल नहीं की।
इसके बजाय, मैंने इस त्रुटि संदेश को फैक्ट्री डिफॉल्ट्स के लिए डॉकटर रीसेट करके छुटकारा दिलाया :

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


क्या आपके पास ऐसा करने से पहले डॉकटर की कोई त्रुटि रिपोर्ट थी, क्योंकि मेरे मामले में मेरे पास कुछ ऐसा था, जो फैक्ट्री डिफॉल्ट्स को रीसेट करने के सुझाव के साथ एक त्रुटि पॉप अप हुआ था।
थियोडोसियोस एवेस्टोउपुलोस

नहीं, @TheodosiosAsvestopoulos, मुझे वह पॉप अप नहीं मिला।
jasie

अजीब बात मैं आज फिर से वही मुद्दा था, do पुनः आरंभ मदद नहीं की। मैं फैक्ट्री डिफॉल्ट्स के लिए फिर से रीसेट नहीं करना चाहता था, क्योंकि हम वास्तव में बड़ी छवियों को खींचते हैं, इसलिए मैंने सिर्फ डॉकर डेस्कटॉप को छोड़ दिया और इसे फिर से खोला और यह काम किया (बस इसे पुनरारंभ करने की तुलना में एक अलग कार्रवाई प्रतीत होती है)।
थियोडोसियोस एएसवेस्टोपौलोस

6

आम तौर पर यह त्रुटि तब होती है जब आप एक कंटेनर शुरू करने की कोशिश कर रहे होते हैं, लेकिन जिन पोर्टों को कंटेनर की जरूरत होती है, उन्हें रोक दिया जाता है, आमतौर पर उसी डॉकर द्वारा एक नवीनतम खराब प्रक्रिया को रोकने के परिणामस्वरूप।

मेरे लिए समाधान है:

  1. व्यवस्थापक की तरह खुली विंडोज़ सीएमडी, netstat -oanप्रक्रिया को खोजने के लिए टाइप करें (डॉकर वह प्रक्रिया है) जो आपके पोर्ट को रोक रही है:

मेरे मामले में मेरे docker पोर्ट्स 3306 6001 8000 9001 हैं।

  1. अब हमें उस बंदरगाहों को मुक्त करने की आवश्यकता है, इसलिए हम पीआईडी ​​(कोलम पीआईडी) द्वारा इस प्रक्रिया को मारने के लिए जाते हैं, टाइप करें

    TASKKILL /PID 9816 /F
    
  2. कर्ता को पुनः स्थापित करें।

  3. खुश रहो।

सादर।


2

मेरे मामले में, समस्या यह थी कि docker कंटेनर (Nginx) 80 पोर्ट का उपयोग करता है, और IIS उसी का उपयोग करता है। IIS में एक अन्य पोर्ट सेट करना समस्या का समाधान करता है


1

ज्यादातर मामलों में, पहले मामले में आपको सोचना चाहिए कि क्या उस पोर्ट को चलाने और उपयोग करने वाली एक पुरानी सेवा है। मेरे मामले में, जब से मैंने छवि का नाम बदला है, तब डॉकटर-कंपोज़ का उपयोग बंद करने (तब ऊपर) करने के लिए, यह पुराने कंटेनर (सेवा) को नहीं रोकेगा, नए कंटेनर को लीड शुरू नहीं किया जा सकता है।


0

थोड़ा देर से जवाब लेकिन मैं इसे यहां छोड़ दूंगा यह किसी और की मदद कर सकता है मैक मोजवे पर मैक और डॉकटर दोनों के बहुत सारे पुनरारंभ के बाद sudo apachectl stop


0
  • इसे हल करने का सबसे सरल तरीका है, पुनः आरंभ करने वाला। लेकिन कुछ मामलों में यह काम नहीं कर सकता है, भले ही आपके पास कोई कंटेनर न हो जो पोर्ट में चल रहा हो। आप docker psकमांड का उपयोग करके रनिंग कंटेनरों की जांच कर सकते हैं और उन सभी कंटेनरों को देख सकते हैं जिन्हें docker ps -aकमांड का उपयोग करने से पहले साफ़ नहीं किया गया था।

कल्पना कीजिए कि एक कंटेनर है जिसमें कंटेनर आईडी है 8e35276e845e। आप कमांड का उपयोग कर सकते हैं docker rm 8e35276e845eया docker rm 8e3कंटेनर को समाप्त कर सकते हैं । ध्यान दें कि पहले 3 तार उस विशेष docker कंटेनर आईडी की आईडी हैं। इस प्रकार उपरोक्त परिदृश्य के अनुसार 8e3 की आईडी है 8e35276e845e

  • यदि पुनरारंभ करना काम नहीं करता है, तो आप docker-compose.yml फ़ाइल में सेवाओं के पोर्ट को बदलने की कोशिश कर सकते हैं और अपाचे पोर्ट के अनुसार आपको वी-होस्ट (यदि कोई हो) का पोर्ट बदलना होगा। यह आपके समाधान का समाधान करेगा। संकट।

उदाहरण के लिए:

    build:
      context: ./apache
      dockerfile: Dockerfile
    working_dir: /var/www/
    volumes:
      - .:/var/www
    networks:
      - app-network
    ports:
      - 8082:80
    depends_on:
      - mysql_db

में बदला जाना चाहिए

apache_server:
    build:
      context: ./apache
      dockerfile: Dockerfile
    working_dir: /var/www/
    volumes:
      - .:/var/www
    networks:
      - app-network
    ports:
      - 8083:80
    depends_on:
      - mysql_db

और विशेष v-host को भी बदलना होगा,

पूर्व (उपरोक्त परिदृश्य के अनुसार):

<VirtualHost *:80> 
    ProxyPreserveHost On
    ServerAlias phpadocker.lk
    ProxyPass / http://localhost:8083/
    ProxyPassReverse / http://localhost:8083/
</VirtualHost>

यह आपको उपरोक्त समस्या को हल करने में मदद करेगा।


0

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

  1. अपने पीसी को पुनरारंभ करें।
  2. फिर अपने PowerShell को व्यवस्थापक के रूप में प्रारंभ करें और इसे चलाएं:

    Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private

  3. इसके बाद अपने डॉकर को रिस्टार्ट करें।

इन चरणों को पूरा करने के बाद आप समस्याओं के बिना चल पाएंगे। मुझे आशा है कि वह मदद करेंगे।

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