क्या मेजबान द्वारा खोले गए डॉकटर कंटेनर एक्सेस पोर्ट होना संभव है? संभवतः मेरे पास होस्ट पर चलने वाले MongoDB और RabbitMQ हैं और मैं डेटाबेस को लिखने के लिए कतार (और वैकल्पिक रूप से) को सुनने के लिए एक डॉकर कंटेनर में एक प्रक्रिया चलाना चाहूंगा।
मुझे पता है कि मैं कंटेनर से होस्ट (-p विकल्प के माध्यम से) को एक पोर्ट अग्रेषित कर सकता हूं और डॉकटर कंटेनर के भीतर की बाहरी दुनिया (यानी इंटरनेट) से एक कनेक्शन है, लेकिन मैं RabbitMQ और MongoDB बंदरगाहों को उजागर नहीं करना चाहता मेजबान से लेकर बाहरी दुनिया तक।
संपादित करें: कुछ स्पष्टीकरण:
Starting Nmap 5.21 ( http://nmap.org ) at 2013-07-22 22:39 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00027s latency).
PORT STATE SERVICE
6311/tcp open unknown
joelkuiper@vps20528 ~ % docker run -i -t base /bin/bash
root@f043b4b235a7:/# apt-get install nmap
root@f043b4b235a7:/# nmap 172.16.42.1 -p 6311 # IP found via docker inspect -> gateway
Starting Nmap 6.00 ( http://nmap.org ) at 2013-07-22 20:43 UTC
Nmap scan report for 172.16.42.1
Host is up (0.000060s latency).
PORT STATE SERVICE
6311/tcp filtered unknown
MAC Address: E2:69:9C:11:42:65 (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 13.31 seconds
कंटेनर के साथ किसी भी इंटरनेट कनेक्शन को प्राप्त करने के लिए मुझे यह चाल चलनी थी: मेरा फ़ायरवॉल नेटवर्क कनेक्शन को डॉकटर कंटेनर से बाहर तक रोक रहा है
संपादित करें : आखिरकार मैं पाइपवर्क का उपयोग करके एक कस्टम ब्रिज बनाने के साथ गया और पुल आईपी पर सेवाओं को सुनता रहा। मैं MongoDB और RabbitMQ डॉक पुल पर सुनने के बजाय इस दृष्टिकोण के साथ गया क्योंकि यह अधिक लचीलापन देता है।