2015-11-13 12 views
5

पर विचार करें:डोकर कंटेनर में सभी बंदरगाहों अग्रेषित करने के लिए कैसे

docker run -p 5000:5000 -v /host/:/host appimage 

फ़ॉरवर्ड पर को 50000

कई में भी

:

docker run -p 5000:5000 -p 5001:5001 -v /host/:/host appimage 

क्या मैं जानना चाहता हूँ है :

docker run -p allports:allports 

क्या कोई आदेश उपलब्ध है जो सभी बंदरगाहों को कंटेनर में अग्रेषित करने की अनुमति देता है? क्योंकि मेरे मामले में मैं फ्लास्क ऐप चला रहा हूं। परीक्षण के उद्देश्य के लिए मैं कई फ्लास्क उदाहरणों को चलाने के लिए चाहता हूं। तो प्रत्येक फ्लास्क उदाहरण के लिए मैं इसे विभिन्न बंदरगाहों में चलाने के लिए चाहता हूं। यह ऑटो बहु-पोर्ट अग्रेषण मदद करेगा।

+1

"-P" विकल्प चेकआउट करें। इसके लिए काम करने के लिए, आपके डॉकरफाइल को पोर्ट नंबर –

+0

निकालना होगा, मुझे नहीं लगता कि ऐसा विकल्प है। यह बहुत भ्रामक हो सकता है। प्रसिद्ध बंदरगाहों पर विचार करें उदा। यदि सभी बंदरगाहों को अग्रेषित किया जाता है तो आपका ब्राउज़र उदाहरण के लिए काम नहीं करेगा। – Opal

उत्तर

0

आप -p विकल्प का उपयोग बंदरगाहों की एक सीमा का खुलासा कर सकते हैं उदाहरण के लिए:

docker run -p 2000-5000:2000-5000 -v /host/:/host appimage 

अधिक जानकारी के लिए docker run संदर्भ दस्तावेज़ देखें।

1

आपके पास docker run --net host ... का उपयोग करके एक कार्यरत सेटअप हो सकता है, जिस स्थिति में होस्ट का नेटवर्क सीधे महाद्वीप के सामने आ जाता है और सभी पोर्ट बाइंडिंग "सार्वजनिक" होते हैं। मैंने एक साथ कई कंटेनर के साथ इसका परीक्षण नहीं किया है, लेकिन यह ठीक काम कर सकता है।

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