मेरे पास जेनकींस (पोर्ट 8080 पर एचटीटीपी) चलाने वाला एक लिनक्स सर्वर है और वही सर्वर डॉकर 1.12.1 भी चला रहा है । मैंने पोर्ट 8080 को होस्ट के पोर्ट 80 पर पुनर्निर्देशित करने के लिए कुछ आईपीटेबल्स नियमों (आधिकारिक जेनकिंस इंस्टॉल डॉक्स के अनुसार) का उपयोग किया, ताकि डिफ़ॉल्ट एचटीटीपी जेनकिंस (यानी) के लिए काम करे http://myserver
बजाय http://myserver:8080
):
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 8080
हालांकि ये नियम डॉकर की एचटीटीपी के माध्यम से सही संसाधनों को डाउनलोड करने की क्षमता को तोड़ते हैं docker build
कमान। उदाहरण के लिए, RUN apt-get update
एकाधिक "डाउनलोड करने में विफल" त्रुटियों के साथ विफल रहता है । कर रही है wget http://www.google.com
कंटेनर के अंदर जेनकींस मुख्य पृष्ठ के लिए एचटीएमएल देता है । एचटीटीपी मेजबान काम से ठीक हो जाता है । आईपीटीबल्स नियमों को हटाने के परिणामस्वरूप RUN apt-get update
फिर से काम करना। इसलिए मुझे लगता है कि वे आईपीटीबल्स नियम डॉकर के नेटवर्क तंत्र में हस्तक्षेप कर रहे हैं ।
क्या ऐसा पोर्ट पुनर्निर्देशन डॉकर के साथ सह-अस्तित्व में हो सकता है? यदि हां, तो इस समस्या को हल करने के लिए आईपीटीबल्स नियम लिखने के बारे में कोई कैसे जाएगा?