डॉकर 7000 से 8000 तक सभी बंदरगाहों या बंदरगाहों की सीमा को उजागर करता है


97

क्या मैं डॉकरीफाइल में पोर्ट रेंज निर्दिष्ट कर सकता हूं

EXPOSE 7000-8000

और जब कंटेनर चल रहा है तो इन सभी उजागर बंदरगाहों को मेजबान मशीन पर समान बंदरगाहों पर बाँध दें?

docker run -p 7000-8000:7000-8000

जवाबों:


133

Docker 1.5 के बाद से आप अब एक्सपोज़ कर सकते हैं का उपयोग कर लिंक किए गए अन्य कंटेनरों को बंदरगाहों की एक सीमा:

Dockerfile बेनकाब आदेश:

EXPOSE 7000-8000

या डॉकर रन कमांड:

docker run --expose=7000-8000

या इसके बजाय आप डॉकरी रन कमांड के माध्यम से मेजबान मशीन को कई पोर्ट प्रकाशित कर सकते हैं :

docker run -p 7000-8000:7000-8000


14
होस्ट मशीन पर "iptables -L -n" के आउटपुट की जांच करें और आपको सिंगल पोर्ट मैपिंग के लिए सैकड़ों लाइनें दिखाई देंगी। यदि आप 5000-50000 देते हैं, तो व्यावहारिक रूप से आपको लंबे समय तक इंतजार करना होगा। क्या यह माना व्यवहार है?
— at देवमरीबारिस

8
@ Do देवमृबरिस प्रति पोर्ट एक डॉकटर प्रक्रिया शुरू की जा रही है । मेरा मानना ​​है कि यह वही है जो काम का अधिकांश समय लेता है।
— मैट

1
डॉक्स उस --publish-all , -Pध्वज के बारे में बात करते हैं जो "सभी उजागर बंदरगाहों को यादृच्छिक बंदरगाहों पर प्रकाशित करता है"। docs.docker.com/engine/reference/commandline/run
— nils petersohn

2

किसी को भी इस मुद्दे का सामना करने और इस पद पर समाप्त होने के लिए ... मुद्दा अभी भी खुला है - https://github.com/moby/moby/issues/11185


आपका बहुत-बहुत धन्यवाद। मैं पागल हो रहा था क्योंकि एक हजार बंदरगाहों की एक सीमा को उजागर करने की कोशिश में सब कुछ फंस गया।
— सूरसो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.