Docker नेटवर्क मोड
Docker के विभिन्न नेटवर्क ड्राइवर (ब्रिज, होस्ट, ओवरले) और कंटेनर संचार पर उनके प्रभावों का अन्वेषण करें।
Docker नेटवर्क मोड, CoddyKit पर डेवलपर के लिए Linux नेटवर्किंग और TCP/IP का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह डेवलपर के लिए Linux नेटवर्किंग और TCP/IP सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
कंटेनरों को आपस में संवाद करना आवश्यक है!
Docker कंटेनर डिफ़ॉल्ट रूप से अलग-थलग रहते हैं, लेकिन उन्हें अक्सर एक-दूसरे या बाहरी दुनिया से संवाद करना पड़ता है। Docker इसे प्रबंधित करने के लिए विभिन्न नेटवर्क ड्राइवर उपलब्ध कराता है।
ये ड्राइवर निर्धारित करते हैं कि कंटेनर एक-दूसरे और होस्ट मशीन के नेटवर्क से कैसे जुड़ेंगे, जिससे उचित संचार और अलगाव सुनिश्चित होता है।
मानक: ब्रिज नेटवर्क
जब आप कोई नेटवर्क निर्दिष्ट नहीं करते, तो Docker स्वचालित रूप से डिफ़ॉल्ट ब्रिज नेटवर्क का उपयोग करता है। इसे एक ऐसे आभासी स्विच की तरह समझें जिसे Docker आपकी होस्ट मशीन पर बनाता है।
इस ब्रिज से जुड़ने वाले प्रत्येक कंटेनर को अपना IP पता मिलता है और वह अपने IP पतों का उपयोग करके उसी ब्रिज पर मौजूद अन्य कंटेनरों से संवाद कर सकता है।
डिफ़ॉल्ट ब्रिज का प्रयोग
आइए डिफ़ॉल्ट ब्रिज नेटवर्क का निरीक्षण करें और देखें कि उससे एक कंटेनर कैसे जुड़ा है। इससे पता चलता है कि Docker इस आभासी नेटवर्क में IP पते कैसे निर्धारित करता है।
डिफ़ॉल्ट ब्रिज और किसी कंटेनर का IP देखने के लिए ये कमांड चलाएँ।
docker network ls
docker run -d --name mynginx nginx
docker inspect --format='{{.NetworkSettings.IPAddress}}' mynginx
docker stop mynginx
docker rm mynginxहोस्ट का नेटवर्क साझा करना
होस्ट नेटवर्क मोड कंटेनर और होस्ट के बीच नेटवर्क अलगाव हटा देता है। कंटेनर सीधे होस्ट के नेटवर्क स्टैक का उपयोग करता है।
इसका अर्थ है कि कंटेनर के पोर्ट बिना किसी पोर्ट मैपिंग के सीधे होस्ट के IP पते पर उपलब्ध होते हैं। इससे उच्च प्रदर्शन मिलता है, लेकिन अलगाव काफ़ी कम हो जाता है।
होस्ट मोड का प्रदर्शन
जब कोई कंटेनर होस्ट मोड में चलता है, तो वह प्रभावी रूप से होस्ट के नेटवर्क पर एक अन्य प्रक्रिया बन जाता है। उसके नेटवर्क इंटरफ़ेस और IP पते होस्ट मशीन के नेटवर्क इंटरफ़ेस और IP पतों के समान होते हैं।
होस्ट मोड में कंटेनर के नेटवर्क विवरण देखने और उनकी तुलना होस्ट के नेटवर्क विन्यास से करने के लिए यह कमांड चलाएँ।
docker run --rm --network host alpine ip a
# Compare with your host's `ip a` output!कई होस्ट तक विस्तार: ओवरले
ओवरले नेटवर्क कई होस्ट के बीच कंटेनर संचार के लिए बनाए जाते हैं और आमतौर पर Docker Swarm या Kubernetes क्लस्टर में उपयोग होते हैं।
इनकी सहायता से अलग-अलग भौतिक या आभासी मशीनों पर मौजूद कंटेनर इस तरह निर्बाध रूप से संवाद कर सकते हैं, जैसे वे एक ही स्थानीय नेटवर्क पर हों। वितरित अनुप्रयोगों के लिए यह अत्यंत महत्वपूर्ण है।
अपने ब्रिज को अनुकूलित करना
डिफ़ॉल्ट ब्रिज उपयोगी है, लेकिन उपयोगकर्ता-निर्धारित ब्रिज नेटवर्क सर्वोत्तम अभ्यास माने जाते हैं। डिफ़ॉल्ट ब्रिज की तुलना में इनके कई लाभ हैं:
- बेहतर अलगाव: आपके अनुप्रयोग के नेटवर्क को अलग रखता है।
- स्वचालित DNS: कंटेनर एक-दूसरे को केवल IP से नहीं, बल्कि नाम से भी खोज सकते हैं!
- स्थानांतरण क्षमता: अनुप्रयोगों को एक होस्ट से दूसरे होस्ट पर ले जाना आसान होता है।
कस्टम ब्रिज बनाना
आइए अपना कस्टम ब्रिज नेटवर्क बनाएँ और कंटेनरों को उससे जोड़ें। ध्यान दें कि एक ही उपयोगकर्ता-निर्धारित ब्रिज पर मौजूद कंटेनर अपने कंटेनर नामों से एक-दूसरे का पता कैसे खोज सकते हैं।
इससे कंटेनरों के बीच संचार बहुत सरल और अधिक विश्वसनीय हो जाता है।
docker network create myapp_network
docker run -d --name myapp_server --network myapp_network alpine/git sh -c "while true; do echo 'Hello from server!' | nc -l -p 8080; done"
docker run --rm --network myapp_network alpine/git sh -c "apk add --no-cache netcat-openbsd && sleep 2 && nc myapp_server 8080"
docker stop myapp_server
docker rm myapp_server
docker network rm myapp_networkनाम से कंटेनरों का संवाद
पिछले उदाहरण में क्लाइंट कंटेनर अपने कंटेनर नाम myapp_server का उपयोग करके सफलतापूर्वक जुड़ गया। यह उपयोगकर्ता-निर्धारित ब्रिज नेटवर्क का एक प्रमुख लाभ है।
Docker की अंतर्निहित DNS सेवा कस्टम नेटवर्क के भीतर कंटेनर नामों को स्वचालित रूप से उनके IP पतों में बदल देती है, जिससे सेवाओं को खोजना सरल हो जाता है।
अपने ज्ञान की जाँच करें!
Docker नेटवर्क मोड के बारे में निम्नलिखित में से कौन-से कथन TRUE हैं?
Docker नेटवर्क: त्वरित पुनरावलोकन
हमने कंटेनर संचार सक्षम करने वाले Docker के प्रमुख नेटवर्क मोड का अध्ययन किया:
- ब्रिज: डिफ़ॉल्ट मोड, एकल-होस्ट कंटेनर संचार के लिए।
- होस्ट: कंटेनर उच्च प्रदर्शन के लिए होस्ट का नेटवर्क स्टैक साझा करता है, लेकिन अलगाव कम होता है।
- ओवरले: Docker Swarm जैसे क्लस्टर परिवेशों में कई होस्ट के बीच संचार के लिए।
- उपयोगकर्ता-निर्धारित ब्रिज: कस्टम ऐप नेटवर्क के लिए सर्वोत्तम अभ्यास, जिसमें अलगाव और नाम के आधार पर स्वचालित DNS समाधान मिलता है।
मज़बूत और विस्तार योग्य कंटेनरीकृत अनुप्रयोगों की रूपरेखा बनाने के लिए इन मोड को समझना अत्यंत आवश्यक है।
एआई शिक्षक के साथ डेवलपर के लिए Linux नेटवर्किंग और TCP/IP सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “Docker नेटवर्क मोड” पाठ निःशुल्क है?
हाँ—“Docker नेटवर्क मोड” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Docker नेटवर्क मोड” में मैं क्या सीखूँगा?
Docker के विभिन्न नेटवर्क ड्राइवर (ब्रिज, होस्ट, ओवरले) और कंटेनर संचार पर उनके प्रभावों का अन्वेषण करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ डेवलपर के लिए Linux नेटवर्किंग और TCP/IP का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या डेवलपर के लिए Linux नेटवर्किंग और TCP/IP शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर डेवलपर के लिए Linux नेटवर्किंग और TCP/IP शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“Docker नेटवर्क मोड” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Docker नेटवर्क मोड
- Kubernetes नेटवर्किंग की मूल बातें
- कंटेनरों में नेटवर्क नीतियाँ
- Kubernetes में सेवा खोज और DNS