मैं डॉकटर पर एक यूडीपी पोर्ट कैसे प्रकाशित कर सकता हूं?


139

मैं अपने Docker कंटेनर से होस्ट मशीन के लिए UDP पोर्ट कैसे अग्रेषित करूं?

जवाबों:


220

-P ध्वज का उपयोग करें और /udpपोर्ट नंबर पर प्रत्यय जोड़ें ।

-p 53160:53160/udp

पूर्ण आदेश

sudo docker run -p 53160:53160 \
    -p 53160:53160/udp -p 58846:58846 \ 
    -p 8112:8112 -t -i aostanin/deluge /start.sh

यदि आप मैक पर boot2docker चला रहे हैं, तो अपने स्थानीय मशीन से boot2docker पर समान पोर्ट को अग्रेषित करना सुनिश्चित करें।

आप यह भी दस्तावेज कर सकते हैं कि आपके कंटेनर को EXPOSE इन द Dockerfile(EXPOSE पोर्ट प्रकाशित नहीं करता है) का उपयोग करके UDP को प्राप्त करने की आवश्यकता है :

EXPOSE 8285/udp

यहां कंटेनर डॉक्स में कवर की गई अधिक डॉकर नेटवर्किंग जानकारी के साथ एक लिंक दिया गया है: https://docs.docker.com/config/containers/container-networking/ (टिप्पणियों में ओल्ड प्रो के सौजन्य से)


3
(शेख़ी) वस्तुतः आधिकारिक दस्तावेज में कहीं नहीं, वाह। "-p = []: कंटेनर के पोर्ट या पोर्ट की एक श्रृंखला को होस्ट फॉर्मेट में प्रकाशित करें: ip: hostPort ,PGPort | ip :: containerPort | hostPort: containerPort | containerPort"। हालांकि आधिकारिक उदाहरण में "-p 1234-1236: 1234-1236 / tcp" का उल्लेख है, पूरे पृष्ठ पर "udp" या "प्रोटोकॉल" के लिए कोई मेल नहीं हैं ।
अलेक्जेंडर गोंचिए

@AlexanderGonchiy डॉक रन के लिए प्रलेखन का बहाना करने के लिए नहीं, लेकिन बंदरगाहों को उजागर करने के लिए सामान्य प्रारूप जिसका उल्लेख है वह कंटेनर नेटवर्किंग प्रलेखन में शामिल है।
ओल्ड प्रो

2
एक्सपोज़ केवल पोर्ट / प्रोटो होना चाहिए, पोर्ट पोर्ट नहीं होना चाहिए जैसे आपके पास काम प्रकाशित है। और बेनकाब पोर्ट को प्रकाशित नहीं करता है और पोर्ट को प्रकाशित करने की आवश्यकता नहीं है, यह प्रलेखन है।
BMitch
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.