मैं समझने की कोशिश कर रहा हूं कि होस्ट मशीन से जुड़े तार से आने वाले नेटवर्क पैकेट के लिए हुड के नीचे क्या हो रहा है और डॉकर कंटेनर के अंदर एक एप्लिकेशन को निर्देशित किया गया है।क्या डॉकर कंटेनर का अपना टीसीपी/आईपी स्टैक है?
यदि यह क्लासिक वीएम था, तो मुझे पता है कि मेजबान पर आने वाला एक पैकेट हाइपरवाइजर (वीएमवेयर, वीबॉक्स आदि कहें) वीएम के वर्चुअल एनआईसी और टीसीपी/आईपी स्टैक के माध्यम से प्रेषित किया जाएगा अतिथि ओएस के अंत में, आवेदन तक पहुंचने के लिए।
डोकर के मामले में, मुझे पता है कि एक पैकेट होस्ट मशीन पर आ मेजबान के नेटवर्क इंटरफेस से docker0
पुल को भेजा जाता है, कि एक veth
जोड़ी कंटेनर के अंदर आभासी इंटरफेस eth0
को समाप्त होने से जुड़ा है । लेकिन उसके बाद? चूंकि सभी डॉकर कंटेनर होस्ट कर्नेल का उपयोग करते हैं, क्या यह मानना सही है कि पैकेट को मेजबान कर्नेल के टीसीपी/आईपी स्टैक द्वारा संसाधित किया जाता है? यदि हां, तो कैसे?
मैं वास्तव में विस्तृत स्पष्टीकरण (या यदि आप जानते हैं कि संसाधन इसे जोड़ने के लिए स्वतंत्र महसूस करता है) को वास्तव में हुड के तहत क्या हो रहा है, इसके बारे में पढ़ना अच्छा लगेगा। मैंने पहले से ही this पृष्ठ को ध्यान से पढ़ा है, लेकिन यह सब कुछ नहीं कहता है।
आपके उत्तर के लिए अग्रिम धन्यवाद।
हां, होस्ट टीसीपी/आईपी स्टैक का उपयोग किया जाता है। आपके द्वारा लिंक किए गए पृष्ठ को पढ़ने के बाद, लिनक्स कर्नेल और डॉकर स्रोत कोड को छोड़कर और भी जोड़ना मुश्किल है- क्या आपके पास कोई विशिष्ट प्रश्न हैं? – nos
आपकी टिप्पणी के लिए धन्यवाद। ठीक है, उदाहरण के लिए, यह अस्पष्ट है कि डेटा को मेजबान मशीन के 'eth0'' पर 'डॉकर 0 पुल' के रूप में प्रेषित किया जाता है: मैंने वायरशर्क का उपयोग करने की कोशिश की लेकिन मैं केवल 'डॉकर 0' से पैकेट का आदान-प्रदान देख सकता हूं और ' vethXYZ'; मैं यह भी मानता हूं कि 'डॉकर 0' और 'eth0' के बीच एक एनएटी है क्योंकि पते बदलते हैं लेकिन मुझे इसके बारे में दस्तावेज नहीं मिला। –
सही, उसमें से अधिकांश, डॉकर द्वारा नियोजित एनएटी नियमों सहित उस दस्तावेज़ में समझाया गया है। – nos