2015-09-29 6 views
13

डेबियन होस्ट पर डॉकर कैसे हो सकता है शायद एक कंटेनर में ओपनएसयूएसई? यह अलग-अलग मॉड्यूल के साथ अलग कर्नेल का उपयोग करता है। इसके अलावा पुराने डेबियन संस्करणों ने पुराने कर्नेल का उपयोग किया है, तो इसे कर्नेल संस्करण 3.10+ पर कैसे चलाया जा सकता है? पुराने कर्नेल केवल पुराने कार्यों में बने हैं, पुरानी डिस्ट्रो नई सुविधाओं का प्रबंधन कैसे कर सकता है? इसमें "चाल" क्या है?डॉकर अलग-अलग कर्नेल के साथ कैसे चल सकता है?

उत्तर

17

कैसे एक कंटेनर में एक डेबियन मेजबान शायद एक OpenSUSE पर चलने डोकर कर सकते हैं

क्योंकि गिरी एक ही है और उन सभी कंटेनर छवियों को चलाने के लिए डोकर इंजन का समर्थन करेंगे: मेजबान कर्नेल होना चाहिए 3.10 या उससे अधिक, लेकिन इसकी list of system calls काफी स्थिर है।

देखें "Architecting Containers: Why Understanding User Space vs. Kernel Space Matters":

  1. आवेदन व्यापार तर्क होते हैं, लेकिन सिस्टम कॉल पर भरोसा करते हैं।
  2. एक बार एप्लिकेशन संकलित किया गया है, इस प्रणाली के सेट कॉल करने वाले ऐप्लिकेशन का उपयोग करता है (अर्थात पर निर्भर करता है) (उच्च स्तर भाषाओं में, इस दुभाषिया या JVM है) बाइनरी में एम्बेडेड है।
  3. कंटेनर उपयोगकर्ता कॉल और कर्नेल स्पेस को सिस्टम कॉल के एक सामान्य सेट को साझा करने की आवश्यकता को अमूर्त नहीं करते हैं।
  4. एक कंटेनरीकृत दुनिया में, यह उपयोगकर्ता अंतरिक्ष को बंडल करके विभिन्न सेनाओं के लिए चारों ओर भेज दिया, लैपटॉप से ​​उत्पादन सर्वर को लेकर है।
  5. आने वाले वर्षों में, इससे चुनौतियां पैदा होंगी।

https://rhelblog.files.wordpress.com/2015/07/user-space-vs-kernel-space-simple-container.png?w=584&h=231

नई प्रणाली कॉल समय-समय पर जोड़ रहे हैं, और पुराने सिस्टम कॉल पदावनत कर रहे हैं; यह आपके कंटेनर आधारभूत संरचना के जीवन चक्र और इसके भीतर चलने वाले अनुप्रयोगों के बारे में सोचते समय विचार किया जाना चाहिए।

भी "Why kernel version doesn't match Ubuntu version in a Docker container?" देखें:

एक कंटेनर के अंदर कोई गिरी नहीं है। यहां तक ​​कि यदि आप कर्नेल स्थापित करते हैं, तो कंटेनर शुरू होने पर लोड नहीं किया जाएगा। एक कंटेनर का उद्देश्य एक नया कर्नेल चलाने की आवश्यकता के बिना प्रक्रियाओं को अलग करना है।

+0

मुझे लगता है कि इसके बाद के संस्करण पूरी तरह से इस सवाल का जवाब नहीं है। जब मैं पूरी तरह सहमत हूँ कि संदर्भित लिंक अच्छा explaination क्यों कंटेनर अपने स्वयं गिरी अंडे नहीं है प्रदान करते हैं कि हम वास्तव में एक कंटेनर जो संभवतः एक विशिष्ट कर्नेल संस्करण पर निर्भर करता है अंडे देने के लिए चाहते हो सकता है। मैं डोकर भी लगता है कि जब एक लिनक्स मेजबान पर चल रहे एक विधा है जहाँ आप कर्नेल संस्करण चुन सकते हैं हो सकता था। – user725408

संबंधित मुद्दे