होस्ट के नेटवर्क पोर्ट पर डॉक कंटेनर को मुफ्त पहुंच की अनुमति देने के लिए सेंटोस 7 फ़ायरवॉल को कैसे कॉन्फ़िगर करें?


32

मेरे पास CentOS 7 पर docker स्थापित है और मैं फ़ायरवॉलड चला रहा हूँ।

मेरे कंटेनर के अंदर से, होस्ट पर जा रहा है (डिफ़ॉल्ट 172.17.42.1)

पर फ़ायरवॉल के साथ

container# nc -v  172.17.42.1  4243
nc: connect to 172.17.42.1 port 4243 (tcp) failed: No route to host

फ़ायरवॉल बंद के साथ

container# nc -v  172.17.42.1  4243
Connection to 172.17.42.1 4243 port [tcp/*] succeeded!

मैंने फ़ायरवॉल पर डॉक्स पढ़े हैं और मैं उन्हें पूरी तरह से समझ नहीं पाया हूँ। क्या एक डॉकटर कंटेनर में सब कुछ करने की अनुमति देने का एक तरीका है (मुझे docker0 एडाप्टर पर अनुमान है) मेजबान के लिए अप्रतिबंधित पहुंच?

जवाबों:


31

शायद पहले के उत्तर से बेहतर;

firewall-cmd --permanent --zone=trusted --change-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
firewall-cmd --reload

6
मेरा मानना ​​है कि यह add-portबहुत ही शानदार है। यदि docker0विश्वसनीय रूप से चिह्नित किया गया है, तो उस पोर्ट को वैसे भी जाने दिया जाएगा।
मैट ह्यूजेस

6
@MattHughes यह मेरे लिए बिना काम किया add-port। आपको भी do पुनः आरंभ करने की आवश्यकता है ।
rdupz


10

थिस कमांड्स ने किया ट्रिक:

firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.