मेरे पास एक सेटअप है जहां मैं अपनी वेबसाइट के सभी हिस्सों को डॉकर कंटेनरों में चलाता हूं । मेरा नगनेक्स जो पोर्ट 80 और 443 पर एक कंटेनर में चलता है ।
363292a98545 scivm/nginx-django-scivmcom:latest /usr/bin/supervisord 12 days ago Ghost 0.0.0.0:40001->22/tcp, 88.198.57.112:443->443/tcp, 88.198.57.112:80->80/tcp lonely_feynmann
मैं किसी अन्य कंटेनर में एक सेवा के लिए एक प्रॉक्सी स्थापित करना चाहता हूं । यह कंटेनर मेजबान पर 3000 पोर्ट करने के लिए बाध्य है:
b38c8ef72d0a mazzolino/strider-dind:latest wrapdocker /usr/bin/ 41 minutes ago Up 41 minutes 0.0.0.0:3000->3000/tcp, 22/tcp, 27017/tcp distracted_einstein
डॉकर होस्ट पर मेरे आईपीटीबल्स इस तरह दिखते हैं:
root@Ubuntu-1204-precise-64-minimal /var/run # iptables -LChain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHEDACCEPT tcp -- anywhere anywhere tcp dpt:sshACCEPT tcp -- anywhere anywhere tcp dpt:httpACCEPT tcp -- anywhere anywhere tcp dpt:httpsACCEPT tcp -- anywhere anywhere tcp dpt:8000DROP all -- anywhere anywhere Chain FORWARD (policy ACCEPT)target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHEDChain OUTPUT (policy ACCEPT)target prot opt source destination
कंटेनर के भीतर से, मैं आईपीटीबल्स कॉन्फ़िगरेशन के कारण होस्ट मशीन पर पोर्ट 3000 से कनेक्ट करने में असमर्थ हूं ।
मैं सार्वजनिक इंटरनेट के लिए पोर्ट 3000 नहीं खोलना चाहता ।
क्या पोर्ट 3000 पर कंटेनर और होस्ट के बीच एक सीधा पुल खोलने का कोई तरीका है?
या क्या मुझे डॉकर आईपी रेंज से स्वीकार करने के लिए अपने आईपीटेबल्स को संशोधित करना चाहिए?