डॉकर कंटेनरों के लिए खुले बंदरगाह

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

मैंने वर्चुअलबॉक्स में एक ताजा उबंटू 14 एलटीएस स्थापित किया है, बिना किसी अतिरिक्त सेवाओं के (कोई जीयूआई, कोई दीपक, कोई ओपनएसएसएच नहीं । ..), और फिर केवल डॉकर स्थापित किया:

curl -sSL https://get.docker.com/ | sh

और मैं चलाने के लिए है एक Odoo (OpenERP) कंटेनर (previusly चलाने postgree कंटेनर)

docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgresdocker run -p 127.0.0.1:8069:8069 --name odoo --link db:db -t odoo

बहुत सरल। ऐसा लगता है कि यह काम कर रहा है । मैंने ब्राउज़र स्थापित नहीं किया है, लेकिन मैं टेलनेट के माध्यम से 127.0.0.1:8069 से जुड़ा और अनुरोध प्राप्त किया । इसका जवाब दिया ।

अब मुझे बाहर से सेवा तक पहुंचने की आवश्यकता है । कैसे?

  • वर्चुअलबॉक्स नेटवर्क इंटरफ़ेस को ब्रिज के रूप में कॉन्फ़िगर किया गया है ।

  • मैंने उबंटू एथ0 इंटरफ़ेस में एक निश्चित आईपी (192.168.0.150) सेट किया है ।

  • UFW अक्षम है

  • मैं 192.168.0.150 को अन्य कंप्यूटरों और उबंटू उत्तरों के लिए पिंग कर सकता हूं ।

  • लेकिन ब्राउज़र 192.168.0.150:8069 पर कुछ भी पता नहीं लगाता है

  • टेलनेट के माध्यम से 192.168.0.150:8069 से कनेक्ट नहीं हो सकता

मुझे लगता है कि यह पोर्ट पुनर्निर्देशन या इंटरफ़ेस मैपिंग का कुछ कॉन्फ़िगरेशन होना चाहिए । क्या आप मेरी मदद कर सकते हैं, कृपया? :)

अंत में मुझे जवाब मिला। समस्या थी बंदरगाह assignement. यदि आप सेट करते हैं:

-p 127.0.0.1:8069:8069

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

-p 8069:8069

फिर, आप एथ0 इंटरफ़ेस के माध्यम से नेटवर्क के माध्यम से सेवा तक पहुंच सकते हैं :)