2016-08-25 14 views
5

उबंटू टस्टी का उपयोग करके, एक दूरस्थ मशीन पर चल रही एक सेवा है, जिसे मैं localhost:9999 से एक एसएसएच सुरंग के माध्यम से पोर्ट अग्रेषण के माध्यम से एक्सेस कर सकता हूं।डॉकर कंटेनर से एक्सेस होस्ट की एसएस सुरंग

मेरे पास एक डॉकर कंटेनर चल रहा है। मुझे कंटेनर के भीतर से मेजबान की सुरंग के माध्यम से उस दूरस्थ सेवा तक पहुंचने की ज़रूरत है।

मैंने -L 9000:host-ip:9999 के साथ कंटेनर से मेजबान तक सुरंग करने की कोशिश की, फिर कंटेनर के भीतर से 127.0.0.1:9000 के माध्यम से सेवा तक पहुंचने में विफल रहता है। मौसम पोर्ट मानचित्रण पर था देखने के लिए, मैं nc -luv -p 9999 # at host nc -luv -p 9000 # at container

निम्नलिखित this, parag. 2 की कोशिश की, लेकिन कोई कथित संचार था, तब भी जब कंटेनर में nc -luv host-ip -p 9000 कर

मैं भी docker run -p 9999:9000 के माध्यम से बंदरगाहों मानचित्रण की कोशिश की है, लेकिन इस रिपोर्ट कि बाध्य विफल रहा क्योंकि मेजबान बंदरगाह पहले से ही उपयोग में है (मेजबान सुरंग से रिमोट मशीन तक, संभवतः)।

तो मेरे सवालों का

1 कर रहे हैं - मैं कनेक्शन कैसे प्राप्त होगा? क्या मुझे मेजबान को एक एसएसएच सुरंग स्थापित करने की ज़रूरत है, या क्या इसे अकेले डॉकर पोर्ट मैपिंग के साथ हासिल किया जा सकता है?

2 - कनेक्शन का परीक्षण करने का एक त्वरित तरीका क्या है? अधिमानतः, बाश के माध्यम से।

धन्यवाद।

उत्तर

7

मुझे लगता है कि आप अपने डॉकर रन में --net=host जोड़ कर ऐसा कर सकते हैं। लेकिन यह प्रश्न भी देखें: Forward host port to docker container

+0

धन्यवाद। मैं अब सेवा से जुड़ सकता हूं। क्या यह जांचने का एक त्वरित तरीका है कि कनेक्शन वास्तव में कठिन है, कठिन? – npit

+1

आप वास्तव में curl 'curl {ip}: {port}/randomendpoint' या wget' {ip}: {port}/randomendpoint' का उपयोग कर सकते हैं –

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