मैं डॉकर के लिए बहुत नया हूं, और मैं डिफ़ॉल्ट टॉमकैट छवि चलाने की कोशिश कर रहा हूं। मैं देखता हूं कि कंटेनर चल रहा है, लेकिन जब मैं इसे अपने वेब ब्राउजर से मारने की कोशिश करता हूं, तो मुझे "कनेक्शन रिफ्यूसेड" मिलता है।डॉकर में चल रहे टॉमकैट से कनेक्ट करने में असमर्थ (कनेक्शन से इनकार कर दिया गया)
यहां क्या हो रहा है?
विवरण
मैं डोकर टूलबॉक्स मेरी विंडोज 7 पीसी पर स्थापित किया है। मैंने boot2docker के पुराने संस्करण से अपने boot2docker VM माइग्रेट किया। (यह इस पर ज्यादा नहीं था ... बस "हैलो दुनिया" छवि।)
डोकर त्वरित प्रारंभ टर्मिनल में, मैं निम्न आदेश के साथ मेरी नई बिल्ला कंटेनर शुरू करने में सक्षम था:
docker run -i -p 8080:8080 --rm tomcat:8-jre8
docker ps
docker exec -i <containerId> bash
फिर, बैश खोल के भीतर:
मुझे लगता है कि बिल्ला की पुष्टि अप और निम्न कमांड का प्रयोग चल रहा है करने में सक्षम था
curl localhost:8080
इस कर्ल से, मुझे अपेक्षित HTML प्रतिक्रिया वापस मिलती है।
हालांकि, अगर मैं सीधे डोकर त्वरित प्रारंभ टर्मिनल से कर्ल कमांड चलाएँ:
curl localhost:8080
... मैं "कनेक्शन से इनकार कर दिया"।
अब यहाँ कुछ पेचीदा है ... अगर मैं
boot2docker ip
चलाने ... यह मुझे है कि "boot2docker-वी एम" नहीं चल रहा है एक त्रुटि देता है। Boot2docker VM नीचे होने पर मेरा कंटेनर कैसे चल सकता है? यहां कुछ चल रहा है कि मैं वास्तव में समझ में नहीं आता।
यदि मैं "boot2docker up" चलाता हूं, तो मैं एक आईपी पता प्राप्त करने में सक्षम हूं, लेकिन मैं अभी भी उस आईपी पते से टोमकैट तक नहीं पहुंच सकता।
मुझे लगता है कि आपको अपने मेजबान मशीन में boot2docker-vm से पोर्ट अग्रेषित करने की आवश्यकता हो सकती है। – rohitkadam19
मैंने ओरेकल वीएम वर्चुअलबॉक्स प्रबंधक खोला, और ऐसा लगता है कि मेरे पास दो वीएम हैं ... जिसे बूट 2 डॉकर कहा जाता है, जिसे रोक दिया जाता है, और जिसे "डिफ़ॉल्ट" कहा जाता है, जो चल रहा है। क्या 2 वीएम होने चाहिए? या ऐसा इसलिए है क्योंकि मैं पुराने boot2docker संस्करण से माइग्रेट किया गया था? क्या मुझे उन्हें दोनों हटा देना चाहिए और boot2docker को नया बनाना चाहिए? मैं boot2docker डिफ़ॉल्ट रूप से सही चीज़ कैसे कर सकता हूं, इसलिए मुझे वर्चुअलबॉक्स में सेटिंग्स के साथ गड़बड़ नहीं करना है? – RMorrisey
मैं कहूंगा, सब कुछ साफ करें। और हां, जब आप विंडोज और मैक पर boot2docker इंस्टॉल करते हैं, तो यह आपको वीएम देता है और उस वीएम डॉकर डिमन के अंदर चलता है। Boot2docker चलने वाले राज्य में होना चाहिए। – rohitkadam19