इंटरनेट से वर्चुअलबॉक्स पर डॉकटर कंटेनर तक नहीं पहुंच सकते


9

मेरे पास विंडोज 10 पर टूलबॉक्स स्थापित है
। पोर्ट 8000 पर बाहर की ओर खोली गई मशीन, और नग्नेक्स कंटेनर बनाया है।

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

डॉकर मशीन का आईपी है 192.168.99.100, कंटेनर का आईपी है 172.17.0.2
मैं विंडोज से Nginx को एक्सेस कर सकता हूं 192.168.99.100:8000। और भी, मैं सीधे विंडोज़ होस्ट से एक्सेस कर सकता हूं 172.17.0.2:80। इसके अलावा, मैं कंटेनर के अंदर से इंटरनेट एक्सेस कर सकता हूं।

सभी कॉन्फ़िगरेशन निम्नानुसार हैं:

Container (Nginx)           Docker Host (VirtualBox)            Host (Windows 10)                                                     Router
172.17.0.2:80 <-----------> 172.17.0.1 (docker0)
                            10.0.2.15 (eth0)
                            192.168.99.100:8000 (eth1) <------> 192.168.99.1 (Ethernet 2, VirtualBox Host-Only Ethernet Adapter)
                                                                192.168.1.3 (Ethernet, Intel Hardware Adapter) <--------------------> 192.168.1.1
                                                                                                                                      <Internet static IP address> <-----------> Provider

समस्या यह है कि मैं विंडोज होस्ट के नगनेक्स ideide को कनेक्ट नहीं कर सकता। telnet 192.168.1.3 8000राउटर से कोशिश की - कनेक्शन से इनकार कर दिया। मेरे पास विंडोज मशीन पर कोई एंटीवायरस नहीं है, और फ़ायरवॉल बंद है।

जवाबों:


7

एक समय के बाद फव्वारा समाधान खुद है :)

VirtualBox -> Machine settings -> Network -> Adapter 1 (NAT) -> Advanced, Port Forwarding

httpस्क्रीनशॉट पर नियम जोड़ें :

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

नियम sshस्वचालित रूप से जोड़ दिया गया है docker-machine create। आखिरी क्वेश्चन यह है कि डॉकटर httpजब एक्सपोजर पोर्ट के साथ कंटेनर बनाता है तो स्वचालित रूप से नियम कैसे जोड़ा जाता है।


क्या आपके पास वर्चुअल बॉक्स कॉन्फ़िगरेशन में NAT के लिए डीएचसीपी है? आपने नेटवर्क एडाप्टर को कैसे कॉन्फ़िगर किया? क्योंकि अगर मैं डॉकटर-मशीन चलाता हूं, तो मैं "वेटिंग फॉर ए पी ..." देखता हूं और कुछ भी नहीं होता है। यदि आप वर्चुअल बॉक्स के कॉन्फ़िगरेशन के लिए अधिक विवरण जोड़ते हैं, तो आपका उत्तर बहुत उपयोगी होगा। मैं वर्चुअल बॉक्स 6.0 और लिनक्स मिंट 19 का उपयोग कर रहा हूं। और मैंने लिनक्स सिस्टम पर सफलतापूर्वक डॉक-मशीन स्थापित किया है।
invzbl3

-1

आपका शीर्षक इंटरनेट है, लेकिन आपके समाधान का अर्थ है कि आप LAN का चयन करते हैं।

यह कोड समान चाल करता है:

netsh interface portproxy add v4tov4 listenport=80 connectaddress=192.168.99.100 connectport=8000 protocol=tcp
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.