वैग्रांत बंदरगाहों की एक श्रृंखला को आगे बढ़ाता है


20

क्या 1.2.1 या उच्चतर योनि का उपयोग करके बंदरगाहों की एक सीमा को अग्रेषित करने का एक तरीका है? मुझे पता है कि आप किसी भी पोर्ट को व्यक्तिगत रूप से उपयोग करके अग्रेषित कर सकते हैं

config.vm.forward_port 80, 4567

या, जवाब है कि इस तरह का काम करने के लिए केवल योनि का उपयोग नहीं करते हैं?


क्या यह मदद करता है? docs.vagrantup.com/v2/networking/forwarded_ports.html
dawud

बिल्कुल नहीं। जानना चाहते हैं कि क्या आप एक समय में एक के बजाय एक पोर्ट को खोलने के लिए निर्दिष्ट कर सकते हैं। शायद मैं लेखक से सीधे संपर्क करूँगा।
एकॉर्न

4
चूंकि वग्रांटफाइल सिर्फ एक रूबी लिपि है, इसलिए आप लूप के लिए लिखने में सक्षम हो सकते हैं, जो आपके इच्छित हर पोर्ट के लिए config.vm.forward_port को निष्पादित करता है। मैं रूबी में धाराप्रवाह नहीं हूं, इसलिए मैं आपको कोड के साथ मदद नहीं कर सकता।
लसार

जवाबों:


27

अगर किसी को अपने वैग्रांटफाइल में पाश कैसे करना है, इसका एक उदाहरण चाहिए:

for i in 64000..65535
    config.vm.network :forwarded_port, guest: i, host: i
end

उपरोक्त लूप 64 पोर्ट और 65535 के बीच के सभी पोर्ट को गेस्ट पर सटीक एक ही पोर्ट पर भेज देगा (ध्यान दें कि 64000 और 65535 समावेशी हैं)।


2
मेरे कंप्यूटर पर 1000 बंदरगाहों को मैप करने के लिए योनि थोड़ी लंबी थी। जब तक आपको वास्तव में इतने मैप किए गए पोर्ट की आवश्यकता नहीं है, आपको 50 पोर्ट मैप करने चाहिए।
एंटोनी

@ एंटोनी हाँ मैंने देखा है कि यह बहुत धीमा है। मैं आमतौर पर विकास के बक्से के लिए सिर्फ 10 से 20 का उपयोग करके समाप्त करता हूं।
ddelrio1986

अत्यंत खिड़कियों पर इस्तेमाल किया बंदरगाहों की जाँच करने के धीमी गति से, एक बार में कमांड लाइन सीमा किक बाहर त्रुटियों।
अलेक्जेंडर टी

@AlexanderT आप कितने बंदरगाहों को आगे बढ़ाने की कोशिश कर रहे हैं?
ddelrio1986

@ ddelrio1986 एक हजार के आसपास।
अलेक्जेंडर टी

2

समावेशी रेंज करने के लिए ऊपर दिए गए 'उदाहरण' सही हैं। यदि आप विशिष्ट बंदरगाहों के एक सेट को अग्रेषित करना चाहते हैं, तो आपको रूबी .each ऑपरेटर का उपयोग करना होगा।

चर मुख्य Vagrant.configure लूप के अंदर या बाहर जा सकते हैं।

UDP_PORTS_LIST={
  "5000" => 5000, # Some service
}

TCP_PORTS_LIST={
  "5900" => 5900, # VNC
}

जिन वीएम के लिए आप उन्हें मैप करना चाहते हैं, उनके लिए Vagrant.configure ब्लॉक के अंदर जाने के लिए छोरों की जरूरत है (याद रखें कि आपके पास एक ही Vagrantfile में कई VMs हो सकते हैं)।

UDP_PORTS_LIST.each do |guest, host|
  config.vm.network "forwarded_port", guest: "#{guest}", host: "#{host}", protocol: "udp"
end
TCP_PORTS_LIST.each do |guest, host|
  config.vm.network "forwarded_port", guest: "#{guest}", host: "#{host}", protocol: "tcp"
end
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.