लोकलहोस्ट पोर्ट 5000 से कनेक्ट करने में विफल: कनेक्शन ने डॉकर के साथ इनकार कर दिया

मैंने अपना छोटा अजगर(फ्लास्क ) ऐप बनाया है । कंटेनर heredocker पुनश्च

CONTAINER ID        IMAGE                          COMMAND             CREATED             STATUS              PORTS                NAMES4146fd976547        identidock_identidock:latest   "/cmd.sh"           5 minutes ago       Up 5 minutes        9090/tcp, 9191/tcp   agitated_leakey

अगर मैं कोशिश करता हूं

curl localhost:5000curl: (7) Failed to connect to localhost port 5000: Connection refused

मैंने नेटस्टैट-एएन | ग्रेप-ई "5000"यूनिक्स 3 [ ] स्ट्रीम कनेक्टेड 25000 की जांच की है

यह 5000 पर सूचीबद्ध नहीं है । yaml लाइन के साथ बंदरगाहों

  ports:   - "5000:5000"

अगर मैं अपने कंटेनर को निष्पादित करता हूं

docker exec -it agitated_leakey /bin/bashuwsgi@4146fd976547:/app$ netstat -lnbash: netstat: command not found

मेरे Dockerfile

RUN pip install Flask==0.10.1 uWSGI==2.0.8WORKDIR /appCOPY app /appCOPY cmd.sh /EXPOSE 9090 9191

ऐसा क्यों होता है?

एक वैकल्पिक समस्या मोड के साथ हो सकती है । प्रकाशित अनुभाग में मुझे सेट करना था mode स्पष्ट रूप से होस्ट करने के लिए और सब कुछ काम किया:

docker service create --name registry --publish published=5000,target=5000,mode=host registry:2

डॉकर पीएस आउटपुट से लगता है कि आपका पोर्ट उजागर नहीं हुआ है ।

$ docker run -d -p 5000:5000 flask-sample-one

अपने कंटेनर को पोर्ट मैपिंग चलाएं और यदि आप अभी भी कंटेनर में एक ही समस्या एसएसएच का सामना करते हैं और निम्न कमांड का उपयोग करते हैं ।

netstat -lntp | grep :5000

लगता है कि कंटेनर में नेटस्टैट स्थापित नहीं है । आप एक चला सकते हैं yum install netstat स्थापित करने और जांचने के लिए ।

यह गाइड आपको सत्यापित करने में मदद करेगा । चेक करें docker ps अंत में आउटपुट।

क्या आप यह जांचने के लिए डॉकर कंटेनर और नेटस्टैट को एसएसएच कर सकते हैं कि पोर्ट सुन रहा है या नहीं । क्या डॉकर पोर्ट 5000 उजागर हुआ था ?

@ डेक्सट्रो 67 कृपया मेरे संपादन पर एक नज़र डालें ।