2016-02-23 11 views
9

में --net = होस्ट का उल्लेख किया गया है मेरे पास सेंटोस डॉकर होस्ट पर एक सेंटोस डॉकर कंटेनर है। जब मैं डॉकर छवि docker run -d --net=host -p 8777:8777 ceilometer:1.x चलाने के लिए इस कमांड का उपयोग करता हूं तो डॉकर कंटेनर को मेजबान का आईपी मिलता है लेकिन इसमें पोर्ट बंद नहीं होते हैं।डॉकर कंटेनर बंदरगाहों का पर्दाफाश नहीं करता है जब डॉकर रन कमांड

यदि मैं "--net = host" docker run -d -p 8777:8777 ceilometer:1.x डॉकर के बिना एक ही कमांड चलाता हूं तो बंदरगाहों को उजागर करता है लेकिन एक अलग आईपी के साथ। डॉकर संस्करण 1.10.1 है। मैं डॉकर कंटेनर को बंदरगाहों के साथ मेजबान के रूप में एक ही आईपी रखना चाहता हूं। मैंने Dockerfile निर्देश EXPOSE 8777 में भी उल्लेख किया है, लेकिन docker run कमांड में "--net = host" का उल्लेख नहीं किया गया है।

+0

यहां प्रश्न क्या है? – cantSleepNow

+0

"इसमें बंदरगाहों को असाइन नहीं किया गया है": आप इसे कैसे निर्धारित करते हैं? – VonC

+0

आप निर्धारित करते हैं कि डॉकर नेटस्टैट द्वारा किस पोर्ट का उपयोग कर रहा है या आप डॉकर पोर्ट <कंटेनर नाम/कंटेनर आईडी> – arevur

उत्तर

10

डॉकर संस्करण 1.10.1 है। मैं डॉकर कंटेनर को बंदरगाहों के साथ मेजबान के रूप में एक ही आईपी रखना चाहता हूँ।

जब आप --net=host का उपयोग करते हैं तो यह कंटेनर को मेजबान नेटवर्किंग स्टैक का उपयोग करने के लिए कहता है। इसलिए आप होस्ट को बंदरगाहों का पर्दाफाश नहीं कर सकते हैं, क्योंकि यह होस्ट है (जहां तक ​​नेटवर्क स्टैक का संबंध है) है।

docker inspect एक्सपोज़र बंदरगाहों को नहीं दिखा सकता है, लेकिन यदि आपके पास एक बंदरगाह पर एक आवेदन सुन रहा है, तो यह उपलब्ध होगा जैसे कि यह मेजबान पर चल रहा था।

+1

जब आप नेटस्टैट करते हैं तो इन बंदरगाहों को तब तक नहीं दिखाना चाहिए? इसका परीक्षण करने के लिए मैंने भाग लिया: डॉकर रन-एट - आरएम --नेट कंटेनर: कैस 1 पॉकेट/कैसंड्रा सीक्लश और "एक्सपोज़रपोर्ट्स" नहीं दिख रहा है लेकिन नेटस्टैट कुछ भी नहीं दिखाता है – kisna

+0

हाँ और हाँ। आप निरीक्षण में बंदरगाह नहीं देखते हैं। लेकिन अगर यह काम करता है और आपकी प्रक्रिया netstat या lsof पोर्ट पोर्ट sudo lsof -i दिखाती है grep LISTEN' -> नोड 17 99 199 12u आईपीवी 6 247434980 0t0 टीसीपी *: 3443 (लिस्टेन) ' –

+0

और यदि मैं डॉकर-कंपोज़ के साथ चलाता हूं तो क्या होगा? मैंने बिना किसी कमी के बंदरगाहों को हटाने की कोशिश की :-( – ItayB

संबंधित मुद्दे